如何让 Elmah 与 ASP.NET 和 IIS 5.1 URL 路由一起使用

发布于 2024-07-24 16:53:14 字数 1042 浏览 4 评论 0原文

我在通过本地 IIS 5.1 Web 服务器运行 ASP.NET MVC 应用程序时遇到问题。 我相信这些问题与 IgnoreRoutes 有关,但我似乎无法制作 IgnoreRoute 来解决问题。

问题:

我能够查看我的 elmah 错误页面 (localhost/mvcapplication1/elmah.axd),但是 CSS 丢失,并且所有链接都不起作用。

重现步骤

1) 创建 ASP.NET MVC 1.0 应用程序

2) 添加 Elmah。 下载程序集,将它们添加到您的项目中,然后使用 Elmah 设置说明中的步骤

3) 将您的应用程序从属性页切换到“使用本地 IIS Web 服务器” --> Web

4) 添加通配符映射。 即打开IIS,进入属性--> 虚拟目录--> 配置--> 添加:可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 扩展名:.* 限制为:GET、HEAD、POST、DEBUG 取消选中“检查文件是否存在”。

5) 验证 Global.aspx 的 RegisterRoutes 中是否存在 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 。 顺便说一句,我也尝试了 routes.IgnoreRoute("elmah.axd");

现在..运行应用程序并启动 localhost/mvcapplication1/elmah.axd。

CSS 和链接均未损坏。

如果我删除通配符映射,一切都很好,但应用程序 URL 路由将不再起作用。 我明白这一点,但我应该能够使用正确的 IgnoreRoute 方案来提取 elmah.axd 。

想法??

I am having issues with regards to running my ASP.NET MVC application thru my local IIS 5.1 web server. I believe these issues are related to IgnoreRoutes, but I can't seem to craft an IgnoreRoute such that it resolves the problem.

Problem:

I am able to view my elmah error page (localhost/mvcapplication1/elmah.axd), however, the CSS is missing and none of the links work.

Steps to Reproduce

1) Create an ASP.NET MVC 1.0 Application

2) Add Elmah. Download the assemblies, add them to your project and use the steps from Elmah Setup Instructions

3) Switch your application to 'Use Local IIS Web Server' from Property Pages --> Web

4) Add the wildcard mapping. That is, open up IIS, go to properties --> Virtual directory --> Configuration --> Add: Executable: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll Extension: .* Limit To: GET, HEAD, POST, DEBUG Uncheck 'Check that file exists'.

5) Verify that routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); exists in the RegisterRoutes of your Global.aspx. By the way, I have also tried routes.IgnoreRoute("elmah.axd");

Now.. run the app and bring up localhost/mvcapplication1/elmah.axd.

No CSS and links are broken.

If I remove the wildcard mapping, all is fine, but then the application URL routing no longer works. I understand that, but I should be able to pull up the elmah.axd with the proper IgnoreRoute scheme.

Thoughts??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

于我来说 2024-07-31 16:53:14

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

<httpModules>
    <add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>

Add FixIIS5xWildcardMapping module to your web.config:

<httpModules>
    <add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文