Ответ 1
Вы можете использовать метод расширения GetDependencyScope()
в HttpRequestMessage
, который дает вам IDependencyScope
, где вы можете разрешить любую службу, которую вы хотите обработать:
public class MyHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(
HttpRequestMessage request,
CancellationToken cancellationToken)
{
IMyService myservice =
(IMyService)request.GetDependencyScope().GetService(typeof(IMyService));
// Do my stuff with myservice
return base.SendAsync(request, cancellationToken);
}
}