سؤال

لدي تطبيقان WCF يتواصل في اتجاه واحد على الأنابيب المسماة. كل شيء لطيف، باستثناء شيء واحد: عادة، يستغرق دورة الطلب / الاستجابة صفر (هامشية). ومع ذلك، إذا كان هناك فترة زمنية، قل، نصف دقيقة دون أي اتصال، يزيد الطلب / الاستجابة ما يصل إلى ~ 300-500ms.

نظرت حول الشبكة وحصلت على فكرة استخدام آلية ضربات القلب / Ping للحفاظ على قناة الاتصالات مشغولة. باستخدام التجربة والخطأ وجدت أنه عند القيام بطلب كل 10 ثوان، تبقى أوقات الاستجابة منخفضة. ابتداء من حوالي 15s فواصل زمنية، تبدأ أوقات استجابة "Hiccup" في الظهور.

الآن أنا أتساءل أين تنشأ هذه الظاهرة من. حاولت تحديد مهلة نضح قابلة للتطبيق على كلا الجانبين إلى> دقيقة واحدة، لكن هذا لم يساعد.

هل يمكن لأي شخص أن يفسر ما الذي يحدث هناك؟

هل كانت مفيدة؟

المحلول

تحقق من وظيفة بلوق Wenlong دونغ، لماذا تصبح WCF بطيئة بعد الخمول لمدة 15 ثانية؟

يتضمن المنشور أيضا حلوة حتى يتم إصلاحه.

نصائح أخرى

هل من الممكن أن يتم تخزين عملية الخمول في القرص؟ إذا كنت تبقي العمليات في كلا الطرفين مشغول، ولكن لا تجعل الإتصال مشغول، هل لا يزال يحدث؟

قد لا يكون ذلك كذلك، لكن من المحتمل أن يستحق المحاولة.

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