Каков наилучший способ условно отключить контроллер 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);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/116 ... controller