Лучший способ прервать / отменить действие из 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 () ` здесь , но я не уверен, что это лучший способ сбросить ответ и закрыть соединение.