سؤال

لدي ASP.NET MVC-التطبيق الذي أريد الانتشار على كل IIS6 و IIS7 و كما نعلم جميعا ، IIS6 يحتاج ".mvc"-التسمية في URL.

وهذا قانون العمل للتأكد من أنه يعمل على جميع IIS-الإصدارات ؟ دون الحاجة إلى إجراء بعض التعديلات في التعليمات البرمجية العالمية.asax أو التكوين-ملفات مختلفة IIS-الإصدارات.

bool usingIntegratedPipeline = HttpRuntime.UsingIntegratedPipeline;

routes.MapRoute(
    "Default",
    usingIntegratedPipeline ?
        "{controller}/{action}/{id}" : "{controller}.mvc/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" }
);

التحديث:نسيت أن أذكر.لا ISAPI.استضاف الموقع, أي سيطرة على IIS server.

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

المحلول

التي ينبغي إصلاح .mvc المشكلة منذ المتكاملة أنابيب IIS7 بدقة.ولكن تذكر أن تغيير الإعدادات على IIS7 موقع "2.0 متكاملة خط أنابيب" otherwhise وسوف return false aswell.أيضا ofcouse إعداد الخرائط .mvc إلى asp.net dll isapi, ولكن أنا أعتقد أنك تعرف هذا.

بعض الاقتراحات على أمور أخرى قد تحتاج إلى تذكر عند نشر MVC التطبيقات على IIS6 التي وجدت المفيدة:http://msmvps.com/blogs/omar/archive/2008/06/30/deploy-asp-net-mvc-on-iis-6-solve-404-compression-and-performance-problems.aspx

نصائح أخرى

يمكنك استخدام عامل تصفية ISAPI إلى إعادة كتابة عناوين المواقع التي تسمح لك أن يكون لطيفا عناوين url في حين لا يزال على IIS 6.

انظر ، على سبيل المثال ، هنا

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