Asp.net mvc .NET:如何从异常对象访问ExceptionContext对象
我正在编写一个自定义错误处理方法,并向它传递一个异常对象。我需要能够访问该异常的ExceptionContext对象,以便在执行错误视图之前将属性设置为true。如果只给定一个异常对象,有人知道如何访问ExceptionContext吗 作为参考,我需要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
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库中的理解,它说它将使用当前的异常对象创建一个新对象,所以如果它需要设置任何属性,我想它会这样做。但是我不确定。。。