【发布时间】:2010-12-01 10:56:24
【问题描述】:
我创建了一个继承自 HandleErrorAttribute 的新类,以不同方式处理 ajax 请求。唯一的覆盖是 OnException 方法:
public override void OnException(ExceptionContext filterContext)
{
if (filterContext.RequestContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.ExceptionHandled = true;
filterContext.HttpContext.Response.Clear();
filterContext.HttpContext.Response.StatusCode = 500;
filterContext.HttpContext.Response.TrySkipIisCustomErrors = true;
filterContext.Result = new JsonResult { Data = errorText };
return;
}
base.OnException(filterContext);
}
这确实有效,大约有一半的时间。当它工作时,响应中的状态代码为 500 并提供错误消息。如果没有,状态码为12031,错误信息为空。
显然状态码 12031 的意思是:
ERROR_INTERNET_CONNECTION_RESET 与服务器的连接已重置。
不知道为什么会发生这种情况。
【问题讨论】:
标签: asp.net-mvc error-handling