سؤال

لدي خدمة 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 التالية في الحصول على مزيد من المعلومات

http://msdn.microsoft.com/en-us/library/cc949026.aspx.

http://msdn.microsoft.com/en-us/library/ms730879.aspx.

نظرا لأن خدمة WCF الخاصة بك هي خدمة Windows +1 ل NettCPBInding. استضافة nettcpbinding على IIS أمر صعب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top