خطأ داخلي في الخادم بسبب تأمين التكوين عند نشر تطبيق ASP.NET MVC على مضيف الويب الخاص بي

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

سؤال

أقوم بتطوير موقع ويب ASP.NET MVC على جهاز Windows Server 2008/IIS7 محلي وأحاول الآن نشره على موفر مضيف الويب الخاص بي، أسبنيكس.أنا أستخدم خدمة استضافة الويب المشتركة الخاصة بهم وتم وضعي على خادم IIS7 الذي يزعمون أنه يدعم ASP.NET MVC.

ومع ذلك، عندما أقوم بنشر التطبيق على خوادمهم، أحصل على "خطأ داخلي في الخادم".

هنا ملخص الخطأ:

خطأ HTTP 500.19 - خطأ داخلي في الخادم

لا يمكن الوصول إلى الصفحة المطلوبة لأن بيانات التكوين ذات الصلة للصفحة غير صالحة.

فيما يلي الأجزاء ذات الصلة من معلومات الخطأ التفصيلية:

وحدة:IIS الويب الأساسية

إشعار:طلب البدء

المعالج:لم تحدد بعد

خطا بالكود:0x80070021

خطأ في التكوين:لا يمكن استخدام قسم التكوين هذا في هذا المسار.يحدث هذا عندما يكون القسم مقفلاً على مستوى الأصل.يتم القفل بشكل افتراضي (overrideModeDefault="Deny")، أو يتم تعيينه بشكل صريح بواسطة علامة موقع باستخدام overrideMode="Deny" أو السماح القديم المسموح به = "false".

و ال مصدر - التكوين يشبه هذا:

144:        </modules>
145:        <handlers>
146:            <remove name="WebServiceHandlerFactory-Integrated"/>

الخطأ يأتي من حقيقة أن لدي system.webServer القسم في ملف web.config الخاص بي الذي يحتوي على معالجات قسم الطفل.ال system.webServer القسم هو قسم التكوين الدقيق الذي تم وضعه افتراضيًا عندما أنشأت موقع ASP.NET MVC لأول مرة في Visual Studio.يحتوي على تعليق XML التالي فوقه:

<!-- 
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0.  It is not necessary for previous version of IIS.
-->

أنا آخذ معالجات قسم الطفل خارج، والخطأ 500 يختفي.بالطبع، هذا القسم مطلوب لكي يعمل تطبيق ASP.NET MVC بشكل صحيح في IIS7، لذا فإن مجرد أخذه لا يؤدي إلا إلى أخطاء أخرى (أخطاء 404 في هذه الحالة لأن التوجيه لا يعمل).

يدعي مهندسو الدعم في ASPnix أنه تم تثبيت ASP.NET MVC وتكوينه بشكل صحيح في IIS7 على خوادمهم.أنا لا أقول إنني لا أصدقهم لأن هذا هو أول موقع ASP.NET MVC قمت بإنشائه ونشره.ومع ذلك، لا يمكنني التفكير في أي شيء يمكنني فعله لإنجاح هذا الأمر نظرًا لأنه يبدو أنه مشكلة في التكوين على مستوى لا يمكنني الوصول إليه.

يبدو أن هذه المشكلة ستكون مشكلة شائعة لدى الأشخاص الذين يحاولون نشر ASP.NET MVC على موفر الاستضافة.هل حدث أي شيء مع ASPnix أو شركات استضافة الويب الأخرى ونأمل أن يتم العثور على حل؟

ملاحظة

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

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

المحلول

افتح إدارة IIS، ضمن عقدة الخادم الرئيسية، حدد فتح تفويض الميزات (في قسم الإدارة)

"تعيينات المعالج" إلى "القراءة/الكتابة" بدلاً من "للقراءة فقط"

يبدو أن مزود الاستضافة الخاص بك قام بإغلاق IIS دون داع.

تمكنت من إعادة إنشاء المشكلة على خادم IIS 7.5 المحلي الخاص بي.

يرى هذا لإعادة ضبط الإعدادات العامة.

نصائح أخرى

يرجى التحقق مما إذا كنت قد نشرت تطبيقك بشكل صحيح: نشر خادم ASP.NET (IIS 7)

الرابط لhttp://www.winservermart.com/Howto/HTTP_Error_500_19_IIS_7.aspxلا يحل المشكلة.يقوم "تفويض إعادة التعيين" بإنشاء استثناء في web.config لمجال معين فقط مما يجعل الموقع يعمل، ولكنه لا يجيب على كيفية تعيينه بشكل دائم على مستوى النظام.لذلك، ليس عيبا، لأننا نعرف الحل وقمنا بضبط جميع الإعدادات بشكل صحيح.والإعلان هنا عن بعض المضيفين الآخرين لا معنى له، فلدينا الكثير من العملاء الذين يعملون من wh4l ويصفون مدى روعة خوادمهم المحملة بشكل زائد.

-بولك

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