ASP.NET Core by Ken

Implementing a Custom DelegatingHandler

To create a custom DelegatingHandler:

  1. Inherit from DelegatingHandler:

    public class CustomHandler : DelegatingHandler
    {
        protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            // Pre-processing logic
            var response = await base.SendAsync(request, cancellationToken);
            // Post-processing logic
            return response;
        }
    }
  2. Register the Handler:
    In ASP.NET Core, register the handler using IHttpClientFactory:

    services.AddTransient<CustomHandler>();
    services.AddHttpClient("NamedClient")
            .AddHttpMessageHandler<CustomHandler>();
CustomHandler
AspNetCore
HttpClientFactory
Middleware
RequestProcessing

Comments