Я пытаюсь прочитать параметры URL, отправленные в метод действия WEB API, используя интерфейс IHttpContextAccessor и его реализацию по умолчанию HttpContextAccessor из DelegatingHandler.
Контроллер выглядит следующим образом:
[HttpPost("{siteName}/{accountID}")]
public async Task<ActionResult<AirRequest>> Post(AirCModel model, string siteName, string accountID)
{
}
Я хочу прочитать значение {siteName} / {accountID} в DelegatingHandler
public class AuthenticationDelegatingHandler : DelegatingHandler
{
private readonly IHttpContextAccessor _httpContextAccessor;
public AuthenticationDelegatingHandler(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var siteNAme = _httpContextAccessor ???
}
}
в файле Startup.cs. Я внедрил службу HttpContext:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddHttpContextAccessor();
}