2010-01-06 46 views
0

我的MVC应用程序中的MvcApplication.Error事件不会触发。MvcApplication.Error Not Firing(global.asax)

我在web.config中的以下内容:

<system.web> 
    <customErrors mode="Off" /> 
    ... 

而且在Global.asax中定义的下列事件:

Public Sub MvcApplication_Error(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Error 

    Dim lastErrorWrapper As HttpException = CType(Server.GetLastError(), HttpException) 

    Using sw As New IO.StreamWriter("c:\test.txt") 
     sw.WriteLine(lastErrorWrapper.StackTrace) 
    End Using 

End Sub 

显然上面是大量简化了这个问题的目的!最终我会在发生错误时通过电子邮件向开发者发送电子邮件。

问题是,这个事件不会在VS或发布到IIS时触发。

任何人都可以帮忙吗?

在此先感谢 乔恩

回答

1

有没有被调用MvcApplication_Error事件;将该方法重命名为Application_Error,并按预期启动。

虽然你在那里,might I recommend eschewing rolling your own solution to this problem when ELMAH exists,并且很容易起床和运行?

+0

嗨,当然方法的名称是无关的,虽然因为它只是一个事件处理程序,重要的是“处理Me.Error”.....我试过了,无论如何,它似乎没有什么区别。 我会研究ELMAH,但它可能是矫枉过正的,因为我需要的东西,所以我仍然希望事件发生......任何更多的想法? 干杯的帮助,我感谢它 – wheelibin 2010-01-07 07:58:42

+0

我结束了使用ELMAH,所以我会标记你的答案 - 谢谢 – wheelibin 2011-10-31 17:52:17