سؤال

عادة ، أنا أستخدم App_Offline.htm لأخذ الموقع في وضع عدم الاتصال. لكن في بعض الأحيان ، عندما أفعل ذلك ، يتم تعليق الموقع فقط (مثل: المتصفحات تنتظر إلى الأبد ، لا يعطي الخادم أي استجابة على الاطلاق). يبدو أن هذا يحدث في موقع قابل للتحديث عندما أقوم بتغيير شيء ما ، مثل عنصر تحكم وبعد ذلك ، عندما لا يسير بسرعة كافية (الموقع معلق) ، أضع app_offline.htm في جذر الموقع.

في معظم الحالات ، يقوم هذا على الفور بإسقاط موقعي. لكن في بعض الأحيان لا يفعل ذلك. في هذه الحالات ، لا يمكنني إيقاف الموقع (عندما أقوم بإعادة التشغيل ، يستمر السلوك). إيقاف تجمع التطبيقات لا يسمح لي بإعادة تشغيل مجموعة التطبيقات نفسها. الحل الوحيدان حتى الآن هو إعادة تشغيل خدمة الويب الخاصة بـ IIS بالكامل.

أود منع هذا من الحدوث. هل هذا خطأ في IIS ليس "كسر كل الإجراءات" عندما App_Offline.htm وجد؟ يمكنني استخدام IIS 7 مع Windows 2008 SP2 64 بت.

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

المحلول

يجب ألا تتوقف IIs عن الإجراءات الحالية ، فقط منع الطلبات الجديدة من المرور: هل سيتوقف app_offline.htm عن الطلبات الحالية أم طلبات جديدة فقط؟

يبدو أنك تصف السيناريو الذي تقوم فيه بتحديث عنصر تحكم ، وحاول تحميل صفحة ، ويتعلق التحميل. عند هذه النقطة تسقط app_offline.htm ونتوقع رؤية تلك الصفحة على الفور.

إذا كنت تقدم طلبًا منفصلاً تمامًا/جديدًا بعد وضعه app_offline.htm في المكان ، يجب أن ترى الصفحة تأتي. ومع ذلك ، لن يتأثر الطلب الحالي على النحو المرتبط أعلاه.

إذا كان ذلك ممكنًا ، حاول نشر app_offline.htm ملف قبل إجراء تغيير التحكم.

نصائح أخرى

ما وجدته هو أن ملف web.config الخاص بي إما كان لديه خطأ فيه أو كان مفقودًا. عندما يكون هذا هو الحال ، لا تتم معالجة app_offline.htm.

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

أيضًا ، أعتقد أنه سيتعين عليك إعادة تشغيل المسبح حتى يعمل App_offline.htm على أي حال.

هنا الحاجة. في كل مرة تقوم فيها بفتح .sln على الخادم ، أو تحديث الرمز ، فإنه سيقوم بإنشاء تذكرة App_offline في الجذر. هذه هي الميزة من ASP.NET نفسها لمنع أي الوصول إلى إزعاج تطورك.

احذف App_offline يدويًا في كل مرة بعد فتح .sln.

نأمل أن تكون هذه المساعدة. شكرًا.

احتمال آخر هو معالج مفقود. المعالج التالي مطلوب:

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