سؤال

لقد قرأت عن app_offline.htm الملف الذي يمكن وضعه داخل جذر تطبيق .NET 2.0 الذي سيتم إغلاقه في جوهر التطبيق وتعطيل أي صفحات أخرى من طلبها.

لقد وضعت الملف في الجذر، وما زال موقعي الأحمال. ذهبت إلى المستندات الافتراضية في IIS وتعيينها app_offline.htm وما زال الموقع الأحمال (قد يكون هذا مشكلة مخزئة للتخزين

على أي حال، أي شخص يعمل في القضايا باستخدام هذا؟ أفعل شيئا خاطئا؟

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

المحلول

لقد استخدمت خدعة التطبيق المفيد للغاية.

تأكد من أنك تقوم بالفعل بوضع ملف "App_Offline.htm" في "جذر" موقع الويب الذي قمت بتكوينه داخل IIS.

تأكد أيضا من تعيين الملف تماما كما يجب أن يكون: app_offline.htm

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

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

إذا كنت لا تزال تواجه مشكلات، فجرب الروابط التالية لمزيد من المعلومات:

Scott Gu's App_Offline.htm

APP_OFFLINE.HTM والعمل حول ميزة "أخطاء IE الودية"

سوف App_Offline.htm إيقاف الطلبات الحالية أو مجرد طلبات جديدة؟

نصائح أخرى

تأكد من أن ملف Apple_Offline.htm لا يقل عن 512 بايت. لن يكون له تطبيق Zero-byte_Offline.htm أي تأثير.

تحديث: قد تتصرف إصدارات الأحدث من ASP.NET/IIS أفضل من عندما كتبت هذه لأول مرة.

تحديث 2: إذا كنت تستخدم ASP.NET MVC، أضف ما يلي إلى Web.config:

<?xml version="1.0"?>
<configuration>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true" />
    </system.webServer>
</configuration>

لاحظ أن هذا يتصرف نفسه على IIS 6 و 7.x، و .NET 2 و 3 و 4.x.

لاحظ أيضا أنه عند وجود App_Offline.htm، سيعود IIS رمز حالة HTTP هذا:

HTTP/1.1 503 Service Unavailable

هذا كل شيء حسب التصميم. هذا يسمح بموازن التحميل الخاص بك (أو أيا كان) لمعرفة أن الخادم خارج الخط.

مشكلة الإذن المحتملة

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

لقد قمت في الأصل بإنشاء ملف App_Offline.htm في موقع آخر ثم نقله إلى جذر طلبي. بسبب الإعداد الخاص بي، أجريت مشكلة أذونات.

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

آمل أن يساعد شخص ما.

تأكد من أن ملحقات اسم الملف مرئية في Explorer واسم الملف هو في الواقع

app_offline.htm

ليس

app_offline.htm.htm

تأكد من أن app_offline.htm في جذر الدليل الظاهري أو موقع الويب في IIS.

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

فقط ungase يستخدم أي شخص آخر يعمل على تطبيق MVC ويجد طريقه إلى هذا الموضوع، تأكد من معرفة رسم خرائط لحضار البدل إلى .NET ASPNET_ISAPI.DLL المحدد. بمجرد أن فعلت هذا، بدأت App_Offline.htm التصرف كما هو متوقع.


خطوات التكوين IIS 6

على خصائص تطبيق IIS، حدد علامة تبويب الدليل الظاهري.

ضمن إعدادات التطبيق، انقر فوق الزر "تكوين".

تحت خرائط تطبيق WildCard، انقر فوق الزر "إدراج".

أدخل ج: windows microsoft.net framework64 v4.0.30319 aspnet_isapi.dll، انقر فوق "موافق".

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