我在通过本地 IIS 5.1 Web 服务器运行 ASP.NET MVC 应用程序时遇到问题。我相信这些问题与 IgnoreRoutes 有关,但我似乎无法制作 IgnoreRoute 来解决问题。
问题:
我可以查看我的 elmah 错误页面 (localhost/mvcapplication1/elmah.axd),但是,缺少 CSS,并且所有链接都不起作用。
重现步骤
1) 创建一个 ASP.NET MVC 1.0 应用程序
2)添加艾玛。下载程序集,将它们添加到您的项目中并使用Elmah 安装说明中的步骤
3) 将您的应用程序从属性页切换到“使用本地 IIS Web 服务器”-> Web
4) 添加通配符映射。即打开IIS,进入属性-->虚拟目录-->配置-->添加: 可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 扩展名:.* 限制为: GET, HEAD, POST, DEBUG 取消选中“检查文件是否存在”。
5) 验证是否routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
存在于 Global.aspx 的 RegisterRoutes 中。顺便说一句,我也试过routes.IgnoreRoute("elmah.axd");
现在.. 运行应用程序并打开 localhost/mvcapplication1/elmah.axd。
没有 CSS 和链接被破坏。
如果我删除通配符映射,一切都很好,但是应用程序 URL 路由不再起作用。我明白这一点,但我应该能够使用正确的 IgnoreRoute 方案拉起 elmah.axd。
想法??