2

我花了无数个小时试图让 Elmah 与 asp.net mvc 一起工作,但不能让它 100% 工作。现在所有的日志记录工作正常,但 HttpHandlers 都搞砸了。每次我尝试登录管理员帐户时,我都会自动重定向到 Elmahs 列表页面。

这是没有意义的,因为 elmah 的路径只是 elmah.axd(这就是我在 web.config 中用于 httphandler 的路径),而我的管理路径类似于 /MyAdmin/login,所以我看不到连接。我还在我的路线表中为 elmah 设置了忽略路线。\

把它们加起来。

Elmah 日志记录有效,错误显示页面也有效。当我尝试登录我的管理员帐户时,它会自动重定向到 Elmahs 错误显示页面。我不知道为什么。

  • 如果我注释掉

routes.IgnoreRoute("elmah.axd");

我的登录有效。如果我把它留在那里,它总是会重定向到 elmah。

4

5 回答 5

4

我终于弄明白了。没有人会得到这个...我有一个对 RouteDebugger.dll 的引用,它是从“Asp.net MVC Framework Unleashed”一书中得到的,由于某种原因,如果 Elmah 启用,这个 dll 会弄乱我所有的发布请求。

我想通了这纯粹是愚蠢的运气。我无法让 RouteDebugger 工作,所以我删除了引用并添加了一个不同的引用,然后一切正常。

于 2010-01-25T22:26:44.350 回答
2

谷歌做了一个完整的演练......

将你的设置与他们的设置相匹配......

我不理解 elmah 并且能够做到。

http://code.google.com/p/elmah/wiki/MVC


-Mark

于 2010-01-25T03:21:07.637 回答
1

猜测了一下,但是您可以尝试使用Route Debugger来查看是否有问题击中正确的路线?

另外,在所有 MapRoute 调用之前调用 IgnoreRoute 吗?

于 2010-01-25T04:20:31.497 回答
0

观看 FIDDLER 上的流量。它应该为您提供一些关于正在发生的事情的线索。

于 2010-01-25T03:16:36.013 回答
0

我认为这是设置它的更新版本,飓风指出的是早期版本:http ://code.google.com/p/elmah/wiki/DotNetSlackersArticle

于 2010-01-25T04:29:19.280 回答