首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在ASP.NET MVC中去掉HTML错误报告?

如何在ASP.NET MVC中去掉HTML错误报告?
EN

Stack Overflow用户
提问于 2010-08-26 20:19:43
回答 3查看 476关注 0票数 6

我所需要的只是纯文本格式的错误消息。但是ASP.NET会从每个错误中输出一些超文本标记语言的报告。

我有一个jquery ajax调用,当抛出一个错误时,我会把所有这些垃圾处理到客户端。

我已经创建了一个筛选器属性,但没有帮助。

代码语言:javascript
运行
复制
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;
    }
}

编辑

我在和this约会

我想看看这里是什么,filterContext.Exception.Message

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-31 10:01:54

在我看来,你不能正确处理异常的原因是因为它发生在MVC管道之外。如果您查看您发布的代码中的堆栈跟踪,就会发现没有对System.Web.Mvc代码的引用(异常发生时触发异常过滤器是从ControllerActionInvoker.InvokeAction调用的)。

堆栈跟踪表明异常在ASP.NET管道(OnEndRequest)中较晚发生,并且它是通过Autofac组件传入的。

要捕获此错误,您必须订阅HttpApplication的Error事件。请参阅下面关于创建全局错误处理程序的文章:http://msdn.microsoft.com/en-us/library/994a1482.aspx。在这种情况下,您可以处理错误并重定向到自定义错误页面。

票数 2
EN

Stack Overflow用户

发布于 2010-08-26 20:29:23

您需要返回一个ContentResult

代码语言:javascript
运行
复制
ContentResult result = new ContentResult();
result.Content = filterContext.Exception.Message;
result.ContentType = MediaTypeNames.Text.Plain; 
filterContext.Result = result;
filterContext.ExceptionHandled = true; 
票数 0
EN

Stack Overflow用户

发布于 2010-08-31 10:18:26

由于您正在使用JQuery和WCF (根据您的错误的详细信息),您可能想看看这篇关于如何优雅地between jQuery and WCF处理服务错误的文章-如果您能够做到这一点,您可能需要重新处理您的服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3574967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档