检测ActionFilter中的ActionResult类型?

Mas*_*ase 3 c# asp.net-mvc-3

ActionFilter在每个上都有一个全局执行ActionResult.是否有可能检测到内部的ActionResult类型(例如a JsonResult与an ActionResult)ActionFilter

例如,我希望ActionFilter立即退出:

public JsonResult someAjaxAction()
{
}
Run Code Online (Sandbox Code Playgroud)

但我希望它能在这里做到这一点:

public ActionResult PageView()
{
}
Run Code Online (Sandbox Code Playgroud)

是的,我知道我可以使用一个ActionFilter属性并装饰我想要执行此操作的操作,但是我想将其保持为全局ActionFilter并检测操作内部是否需要执行所需的工作.

Dar*_*rov 6

public class MyActionFilterAttribute : ActionFilterAttribute
{
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        if (filterContext.Result is ViewResult)
        {
            ...
        }
        else if (filterContext.Result is JsonResult)
        {
            ...
        }
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)