14

我在通过本地 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。

想法??

4

1 回答 1

12

将 FixIIS5xWildcardMapping 模块添加到您的 web.config:

<httpModules>
    <add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>
于 2009-06-11T16:54:33.003 回答