Elmah 不适用于 asp.net mvc
Posted
技术标签:
【中文标题】Elmah 不适用于 asp.net mvc【英文标题】:Elmah does not work with asp.net mvc 【发布时间】:2011-01-08 22:56:58 【问题描述】:我花了无数个小时试图让 Elmah 与 asp.net mvc 一起工作,但无法让它 100% 工作。现在所有的日志记录工作都很好,但是 HttpHandlers 都搞砸了。每次我尝试登录管理员帐户时,我都会自动重定向到 Elmahs 列表页面。
这没有任何意义,因为 elmah 的路径只是 elmah.axd(这就是我在 web.config 中用于 httphandler 的路径),而我的管理路径类似于 /MyAdmin/login,所以我看不到联系。我还在我的路线表中为 elmah 设置了忽略路线。 \
总结一下。
Elmah 日志记录有效,错误显示页面也有效。当我尝试登录我的管理员帐户时,它会自动重定向到 Elmahs 错误显示页面。我不知道为什么。
如果我注释掉routes.IgnoreRoute("elmah.axd");
我的登录有效。如果我把它留在那里,它总是会重定向到 elmah。
【问题讨论】:
【参考方案1】:我终于明白了。没有人会得到这个...我有一个对 RouteDebugger.dll 的引用,我从“Asp.net MVC Framework Unleashed”一书中得到,并且由于某种原因,如果 Elmah 被启用,这个 dll 会弄乱我所有的发布请求。
我想通了纯属愚蠢的运气。我无法让 RouteDebugger 工作,所以我删除了引用并添加了一个不同的引用,然后一切正常。
【讨论】:
【参考方案2】:Google 做了一个完整的演练... 将您的设置与他们的设置相匹配... 我不懂 elmah 并且能够做到。http://code.google.com/p/elmah/wiki/MVC -马克
【讨论】:
谢谢,但我经历了好几次都没有运气 管理部分的路线是什么?【参考方案3】:猜测了一下,但你能不能尝试使用Route Debugger 看看是否有问题到达正确的路线?
另外,IgnoreRoute 调用是否在所有 MapRoute 调用之前?
【讨论】:
【参考方案4】:在 FIDDLER 上观察流量。它应该会给你一些关于发生了什么的线索。
【讨论】:
我使用 Live Http Headers 不确定它是否有很大不同。当我点击我的表单按钮时,它只是加载了 elmah,它甚至没有显示重定向。【参考方案5】:我认为这是设置它的更新版本,飓风指出的是早期版本:http://code.google.com/p/elmah/wiki/DotNetSlackersArticle
【讨论】:
以上是关于Elmah 不适用于 asp.net mvc的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC - Elmah 不工作并为 elmah.axd 返回 404 页面