C# ASP MVC API异常截断堆栈跟踪

C# ASP MVC API异常截断堆栈跟踪,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,现在我有一部分代码抛出了一个内部服务错误。我注意到我的客户得到了非常详细的堆栈跟踪。我不想要这个,我只想发送“message”属性 如何扩展MVCAPI控制器以截断异常结果,从而只发出消息而不发出异常类型和堆栈跟踪 public class TruncateExceptionAttribute : ActionFilterAttribute { public override void OnActionExecuting(HttpActionContext actionContext)

现在我有一部分代码抛出了一个内部服务错误。我注意到我的客户得到了非常详细的堆栈跟踪。我不想要这个,我只想发送“message”属性

如何扩展MVCAPI控制器以截断异常结果,从而只发出消息而不发出异常类型和堆栈跟踪

public class TruncateExceptionAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        if (actionContext.Response == null)
            return;

        if (actionContext.Response.StatusCode == HttpStatusCode.InternalServerError)
        {
            // Where do I get the exception message so I can set content ?
            // Also will it be serialized properly (MediaTypeFormatter?)
            actionContext.Response = new HttpResponseMessage(HttpStatusCode.InternalServerError);
        }
    }
}

我可能错了,但是
actionfilteratAttribute
s通常在操作方法之前执行,对吗?您有吗?默认情况下,这在发布版本中是关闭的,您是否将调试版本上载到生产网站?