您可以使用MVC /的WebAPI的筛选器属性来执行检查,并使用上下文来执行操作
public class VariableCheckerValidationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext
filterContext)
{
if(filterContext.HttpContext.Session["myVariable"] == null)
{
filterContext.Result = new RedirectToRouteResult("/../Cons/SetVariable", filterContext.RouteData.Values);
}
}
}
然后注册行动滤波器作为一个全球性的过滤器,它会自动应用到每一个动作你的申请。
在WebApiConfig(在项目的WebAPI的情况下),在通常的Register
方法,添加:
config.Filters.Add(new VariableCheckerValidationAttribute());
或者,相反,根据需要在控制器或动作级别应用。
如果您决定转向全局应用程序,并且您有一个不需要它的操作,那么您需要创建一个属性到“策略外”,并将上述属性代码更新为测试是否存在“例外”属性,然后在该情况下不应用检查。
来源
2017-06-06 13:35:20
LB2
也许你应该看看动作过滤器。 – dcg