是否可以访问ActionArguments
中的IExceptionFilter
?
根据上面的图片异常过滤器在可以访问它们的动作过滤器之后运行。所以我不明白为什么他们不能。
在ActionFilter中,您可以像这样访问它
public class MyFilter : IActionFilter
{
public void OnActionExecuting(ActionExecutingContext context)
{
context.ActionArguments // I need access to this in order to find out what type the input argument(s) was.
}
}
但IExceptionFilter改为使用public void OnException(ExceptionContext context)
。
答案 0 :(得分:1)
我明白了:)
public class ExceptionFilter : IExceptionFilter, IActionFilter
{
private IDictionary<string, object> _actionArguments;
public void OnException(ExceptionContext context)
{
_actionArguments // great success!
}
public void OnActionExecuting(ActionExecutingContext context)
{
_actionArguments = context.ActionArguments;
}
public void OnActionExecuted(ActionExecutedContext context)
{
// do nothing
}
}