مما اضطر خدمة الويب asmx للتعامل تطلب في وقت واحد

StackOverflow https://stackoverflow.com/questions/810505

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا تصحيح خدمة ويب ASMX الذي يتلقى "رشقات نارية" من الطلبات. أي أنه من المرجح أن خدمة ويب سوف تتلقى 100 طلب غير متزامن ضمن حوالي 1 أو 2 ثانية. ويبدو أن كل طلب يستغرق حوالي ثانية واحدة لمعالجة (من المتوقع وهذا أنا موافق مع هذا الأداء). ما هو مهم مع ذلك، هو أن كل طلب يتم التعامل مع بالتتابع وليس المعالجة المتوازية يأخذ الأماكن. أنا لا أريد أي معالجة الطلب المتزامنة بسبب عناصر خارجية التي دعت إليها خدمة الإنترنت. هل هناك أي طريقة أستطيع أن فرض خدمة على شبكة الإنترنت للتعامل فقط كل بالتتابع الرد؟

ولقد رأيت السمة MAXCONNECTION في machine.config ولكن يبدو أن هذا العمل فقط من أجل الاتصالات الصادرة، حيث كما أتمنى أن يخنق الاتصالات الواردة.

تجدر الإشارة إلى أن إعادة بيع ديون إلى WCF ليس خيارا في هذه المرحلة في الوقت المناسب.

ونحن usinng IIS6 على WIN2003.

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

المحلول

وربما يجب أن تكون في قائمة انتظار الطلبات حتى داخليا ومعالجتها واحدا تلو الآخر؟

وقد يسبب العملاء الاستقصاء عن النتائج (إذا كانوا حتى في حاجة إليها)، ولكن كنت الحصول على خط أنابيب متسلسل أردت ...

نصائح أخرى

في IIS7 يمكنك إعداد حد من الاتصالات المسموح بها إلى موقع على شبكة الإنترنت. يمكنك استخدام IIS7؟

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

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