iis7上使用 URL 路由的 MVC 2 和 ASP.NET 4 Web 窗体应用程序尝试在 IIS 7 和 IIS 7.5 上处理无扩展的 URL 时可能返
最近需要用MVC模式开发项目,装了win7及iis后,发现怎么弄都不能访问mvc项目,经过大量的百度必应后,在一篇记录framework4常见问题的博文中的百几十个问题中找到了相关原因。使用无扩展的 URL 的 MVC 2 和 ASP.NET 4 Web 窗体应用程序在 Windows Vista、Windows Server 2008、Windows 7 或 Windows Server 2008 R2 上运行时可能会返回 HTTP 404 错误。 如果只有 .NET Framework 扩展性选项处于打开状态,而且 IIS 是通过“Windows 功能”对话框安装的,则会发生此情况。 最小安装的 IIS 将不包含某些 HTTP 模块。 由于 ASP.NET 和 IIS 管理 HTTP 管道事件转换的方式不同,缺少的 HTTP 模块将阻止 ASP.NET URL 路由模块在合适的时间运行。 因此,URL 路由模块不会处理对无扩展的 URL 的请求,404 错误将发生。
在 Windows“控制面板”中“程序和功能”应用程序的“打开或关闭 Windows 功能”对话框中, 执行以下步骤:
1. 导航至以下节点:
“Internet Information Services”-->“万维网服务”-->“常见 HTTP 功能”
2. 确保选中“HTTP 错误重定向”选项。
- 或 -
1. 导航至以下节点:
“Internet Information Services”-->“万维网服务”-->“性能功能”
2. 确保选中“静态内容压缩”选项。
在选定以上任一选项后,请单击“确定”以保存更改。
重新启用 HTTP 错误重定向模块或静态内容压缩模块可确保 ASP.NET 和 IIS 正确同步 HTTP 管道事件。 这样,URL 路由模块就能够处理无扩展的 URL。
页:
[1]