Custom ActionFilterAttribute (авторизация) не останавливает выполнение маршрута после неавторизованного ответа actioncontext - PullRequest
0 голосов
/ 10 июля 2020

Я использую ActionFilterAttribute для реализации настраиваемой авторизации, которая украсит некоторые из моих маршрутов. В случае выполнения условий для отказа от авторизации я пытаюсь вернуть ответ «Неавторизованный».

public override async void OnActionExecuting(HttpActionContext actionContext){
.......

if(myCustomCondition)
  actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized,
                    new HttpResponseException(HttpStatusCode.Unauthorized));

Ответ действительно установлен, как ожидалось, но после этого он продолжает выполнение кода в маршруте. Я также пробовал использовать

actionContext.Response = new HttpResponseMessage((HttpStatusCode)401) { ReasonPhrase = "Some reason"};

, но у меня такое же поведение.

Как мне настроить ответ, чтобы остальная часть кода не выполнялась (а не разрешено в соответствии с моими условиями)?

...