use*_*348 6 error-handling asp.net-mvc
我只需要纯文本中的错误消息.但ASP.NET正在从每个错误中输出一些HTML报告.
我有一个jquery ajax调用,当一个错误被抛出时,我得到了所有的废话到客户端.
我创建了一个过滤器属性,但没有帮助.
public class ClientErrorHandler : FilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
var responce = filterContext.RequestContext.HttpContext.Response;
responce.Write(filterContext.Exception.Message);
responce.ContentType = MediaTypeNames.Text.Plain;
filterContext.ExceptionHandled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
我看到了这个
而且我想看看这里有什么 filterContext.Exception.Message
在我看来,无法正确处理异常的原因是因为它发生在 MVC 管道之外。如果您查看您发布的代码中的堆栈跟踪,则没有对 System.Web.Mvc 代码的引用(发生异常时触发异常过滤器是从 调用的ControllerActionInvoker.InvokeAction)。
堆栈跟踪表明异常发生在 ASP.NET 管道 (OnEndRequest) 的后期,并且是通过 Autofac 组件发出的。
要捕获此错误,您必须订阅 HttpApplication 的Error事件。请参阅以下有关创建全局错误处理程序的文章:http://msdn.microsoft.com/en-us/library/994a1482.aspx。在这种情况下,您可以处理错误并重定向到自定义错误页面。
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |