我正在创建一个 ASP.NET MVC 应用程序。我需要在两个地方处理异常。
Global.asax.vb 文件:
Public Class MvcApplication
Inherits System.Web.HttpApplication
...
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
LogException(HttpContext.Current.Server.GetLastError(), Request)
End Sub
Shared Sub LogException(ByVal ex As Exception, ByRef r As System.Web.HttpRequest)
...
End Sub
End Class
Views\Shared\Error.aspx 文件:
<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage(Of System.Web.Mvc.HandleErrorInfo)" %>
<script runat="server">
Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs)
MvcApplication.LogException(Model.Exception, Request)
End Sub
</script>
...
但我收到这个错误:
C:\inetpub\example.com\Views\Shared\Error.aspx(5): 错误 BC30451: 未声明名称“MvcApplication”。
我应该在哪里定义 LogException() 函数,以便可以从 Global.asax.vb 文件和 Error.aspx 文件访问它?最 MVC 风格在哪里?
您可能想尝试一个名为 ELMAH 的模块。 Scott Hanselman 说“ELMAH 是解决 ASP.NET 错误的 Tivo”。我目前正在使用它来记录我的 ASP .NET + MVC 应用程序中的错误,它的工作方式就像一个魅力。设置很简单,因为所需要做的就是向 web.config 添加行。您甚至可以限制谁有权查看错误日志。
http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)