У меня есть пользовательский обработчик делегирования, который управляет аутентификацией запроса. В одном из моих контроллеров аутентификация не должна включаться для определенного действия. Как отключить обработчик делегирования для метода и маршрута POST api/MyController
?
Один из вариантов заключается в том, чтобы жестко закодировать маршрут внутри обработчика, однако я предпочел бы сохранить эту логику из обработчика. Кроме того, я вижу, что я добавляю это поведение к еще нескольким действиям, которые могут затруднить этот метод.
protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
if (request.Method == HttpMethod.Post
&& request.RequestUri.PathAndQuery.StartsWith("/api/MyController"))
return base.SendAsync(request, cancellationToken);
// Do authentication
}
Есть ли лучший способ, который легче поддерживать?