我有一个基类控制器,我的其他控制器从中继承
public abstract class BaseController : Controller
{
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
...
}
}
在初始化过程中,我正在进行一些设置,在一些情况下,我希望缩短执行时间,直接跳转到ActionResult的返回,完全跳过实际操作方法的执行。类似这样的东西
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
if(specialCase)
{
ViewData[...] = specialCaseInformation;
return View("~/Shared/SpecialCase.aspx");
}
}
我
认为
我需要做的是创建一个单独的ActionFilterAttribute类,重写OnActionExecuting方法,如果出现特殊情况,构造一个ViewResult对象并将其分配给filterContext.Result属性。
我是朝着正确的方向走,还是应该以不同的方式去做?