什么是有条件地禁用ASP.NET MVC控制器的最佳方式?
我想有到控制器动作的访问,如果在web.config中的一些值是“真”和404,如果它是“假”
我应该写我自己的属性?
更新 :寻找比动作滤波器属性更好的解决方案(具有能力通过不是恒定的参数属性构造)
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public class CloseForSomeSettingAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
bool mySettingValue = MySettingManager.GetMySettingValue();
if (mySettingValue)
{
filterContext.Result = new HttpStatusCodeResult(404);
}
else
{
base.OnActionExecuting(filterContext);
}
}
}