Лучший способ прервать/отменить действие из ActionFilter
У меня есть этот ActionFilter
, и он должен немедленно прекратить соединение и вернуть 401 Unauthroized:
public class SignInRequired : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// User is verified, continue executing action
if (Acme.Web.CurrentUser != null)
{
return;
}
// End response with 401 Unauthorized
var response = HttpContext.Current.Response;
response.StatusCode = (int)HttpStatusCode.Unauthorized;
response.End();
// Prevent the action from actually being executed
filterContext.Result = new EmptyResult();
}
}
Я узнал, как вы можете отменить действие от выполнения, установив здесь 'context.Result = new EmptyResult() `здесь, но я не уверен, что это лучший способ сбросить ответ и закрыть соединение.