我有一个 ASP.NET MVC 应用程序,我希望它可以部署在 IIS6 和 IIS7 上,众所周知,IIS6 需要 URL 中的“.mvc”命名。
此代码是否可以确保它适用于所有 IIS 版本?无需对不同 IIS 版本的代码、global.asax 或配置文件进行特殊调整。
bool usingIntegratedPipeline = HttpRuntime.UsingIntegratedPipeline;
routes.MapRoute(
"Default",
usingIntegratedPipeline ?
"{controller}/{action}/{id}" : "{controller}.mvc/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
更新:忘了提。没有 ISAPI。托管网站,无法控制 IIS 服务器。