Asp.net mvc .NET:如何从异常对象访问ExceptionContext对象

Asp.net mvc .NET:如何从异常对象访问ExceptionContext对象,asp.net-mvc,exception,exception-handling,Asp.net Mvc,Exception,Exception Handling,我正在编写一个自定义错误处理方法,并向它传递一个异常对象。我需要能够访问该异常的ExceptionContext对象,以便在执行错误视图之前将属性设置为true。如果只给定一个异常对象,有人知道如何访问ExceptionContext吗 作为参考,我需要ExceptionContext对象的原因是为了执行以下代码: filterContext.ExceptionHandled = true; // filterContext is of type ExceptionContext this.Vi

我正在编写一个自定义错误处理方法,并向它传递一个异常对象。我需要能够访问该异常的ExceptionContext对象,以便在执行错误视图之前将属性设置为true。如果只给定一个异常对象,有人知道如何访问ExceptionContext吗

作为参考,我需要ExceptionContext对象的原因是为了执行以下代码:

filterContext.ExceptionHandled = true; // filterContext is of type ExceptionContext
this.View("Error_partial", filterContext.Exception).ExecuteResult(this.ControllerContext);

我在网上读到ExceptionHandled必须设置为true,否则下面的语句将抛出一个死亡黄屏,而不是我希望它显示的友好的“Error\u partial”页面。因此,能够访问异常的ExceptionContext非常重要。任何帮助都将不胜感激。

除非您已有
ExceptionContext
对象

您应该创建一个并将
异常
对象传递给它,然后它将基于您传递的
异常
对象创建一个
异常上下文


查看除非您已经有一个现有的
ExceptionContext
对象

您应该创建一个并将
异常
对象传递给它,然后它将基于您传递的
异常
对象创建一个
异常上下文


很晚才去参加聚会,我想你已经解决了这个问题,但是为了其他人的利益:


您可以创建一个实现
IEExceptionFilter
的类,并将其添加到控制器的filters集合或
GlobalFilterCollection
。将自定义异常处理逻辑放入类的
OnException
方法中,该方法接受
ExceptionContext
参数。这就是对象的
ExceptionHandled
属性必须设置为
true
,以避免死亡的黄屏。

很晚才到达派对,我想你已经解决了这个问题,但为了其他人的利益:


您可以创建一个实现
IEExceptionFilter
的类,并将其添加到控制器的filters集合或
GlobalFilterCollection
。将自定义异常处理逻辑放入类的
OnException
方法中,该方法接受
ExceptionContext
参数。这就是对象的
ExceptionHandled
属性必须设置为
true
,以避免出现死亡的黄屏。

@Tony,我想我确实考虑过这样做,但我想知道ExceptionContext的关联属性是否仍然相同。显然,如果我创建一个新的,属性不会被重置吗?也许这没关系,考虑到我正在尝试做什么…@Mega Matt,根据我在MSDN库中的理解,它说它将使用当前的异常对象创建一个新对象,所以如果它需要设置任何属性,我想它会这样做。但是我不确定…@Tony,我想我确实考虑过这样做,但我想知道ExceptionContext的关联属性是否仍然相同。显然,如果我创建一个新的,属性不会被重置吗?也许这没关系,考虑到我正在尝试做什么…@Mega Matt,根据我在MSDN库中的理解,它说它将使用当前的异常对象创建一个新对象,所以如果它需要设置任何属性,我想它会这样做。但是我不确定。。。