nettcpbinding أو wshttpginding.
-
19-09-2019 - |
سؤال
لدي خدمة WCF المستضافة كخدمة Windows والعميل هو تطبيق ASP.NET تستهلك أساليب خدمة WCF المستهلكة.
في عملية تنفيذ الأمن، أنا مرتبك الذي netTcpBinding
/wsHttpBinding
سوف تكون مناسبة لحالتي.
على الأرجح جميع التطبيقات في المشهد (خدمة WCF، خدمة Windows، ASP.NET Website) ستكون جالسة على خوادم مختلفة في مكتبنا، وبالتالي في إنترانت. سيتم الوصول إلى موقع المستخدمين ASP.NET من قبل المستخدمين عبر الإنترنت.
رغم ذلك، يمكنني دائما استخدام Wshttpgbinding هنا، فهل ستكون مناسبة لتعيين نقطة نهاية الخدمة باستخدام netTcpBinding
في حالتي؟
المحلول
تحقق من ذلك للمقارنة بين جميع الروابط المدمجة المختلفة:
تكوين الارتباطات المقدمة من النظام - MSDN
بالنسبة لحالتك، طالما أن خادم الويب الذي يتم الاتصال بخدمة WCF ولا تحتاج إلى توفير نقطة نهاية لأي مستهلكين خارجيين للخدمة ...netTcpBinding
يجب أن يكون حتى الوظيفة.
نصائح أخرى
يمكنك فضح خدمتك أكثر من ملزمة واحدة إذا كنت ترغب في ذلك، حتى تتمكن من استخدام كليهما بالفعل.
ومع ذلك، إذا كنت تسيطر على كل من العميل والخدمة وليست كلاهما WCF، فإن Nettcpbinding أسرع بكثير. ما لم يكن لديك جدار حماية بين هذين، سأختار ذلك.
يستخدم netTcpBinding
في حين أن wsHttpBinding
إذا كنت على استعداد لتداول التشغيل البيني من أجل الأداء مع العلم أنه يمكنك بسهولة إلغاء التجارة إذا لم تكن راضيا عن النتائج (إنها مسألة تغيير قيم التكوين).
نظرا لأن خدمات WCF الخاصة بك سيتم الوصول إليها من خلال التطبيقات التي تجلس في مكتبك (إنترانت)، سأذهب مع nettcpbinding..
في سيناريو إنترانت, ، يوصى باستخدام nettcpbinding. ما لم يكن لديك متطلبات محددة لاستخدام الارتباطات الأخرى مثل Wshttpginding. بشكل افتراضي، يستخدم Nettcpbinding الترميز الثنائي و أمن النقل, التي توفر أداء أفضل.
سوف تساعد عناوين URL التالية في الحصول على مزيد من المعلومات
نظرا لأن خدمة WCF الخاصة بك هي خدمة Windows +1 ل NettCPBInding. استضافة nettcpbinding على IIS أمر صعب.