如果我在Web.config中使用customErrors,在调用此页面之前如何使用任何服务器代码?
在调用错误之前,我是否必须处理我的catch语句? 还有其他选择吗?
<customErrors mode="On" defaultRedirect="~/Views/Shared/MyPageError.cshtml" />
在我的情况下,我希望在用户访问我的错误页面之前将其从网站上注销。
答案 0 :(得分:0)
您可以在应用程序中创建可以处理错误的过滤器,例如
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ErrorHandler());
}
public class ErrorHandler : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
base.OnException(filterContext);
SendEmail(filterContext.Exception.Message);
}
}
}
在Global.asax.cs中注册
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
在控制器上提到这个
[ErrorHandler]
如果出现错误,您也可以指定视图
[ErrorHandler(View = "")]
答案 1 :(得分:0)
我最终在视图中添加了一个ajax get方法来调用我的服务器端代码。