您可以使用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