У меня есть приложение ASP.NET MVC, которое я хочу развернуть как на IIS6, так и на IIS7, и, как мы все знаем, IIS6 нуждается в имени ".mvc" в URL-адресе.
Будет ли этот код работать, чтобы убедиться, что он работает на всех версиях IIS? Без необходимости делать специальные настройки в коде, global.asax или config-файлах для разных версий IIS.
bool usingIntegratedPipeline = HttpRuntime.UsingIntegratedPipeline;
routes.MapRoute(
"Default",
usingIntegratedPipeline ?
"{controller}/{action}/{id}" : "{controller}.mvc/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
Обновление: забыл упомянуть. Нет ISAPI. Размещенный сайт, никакого контроля над IIS-сервером.