Registrar un nuevo DelegatingHandler en ASP.NET Core Web API

Quiero crear un nuevo controlador que extienda DelegatingHandler para permitirme hacer cosas antes de llegar al controlador. He leído en varios lugares que necesito heredar de DelegatingHandler y luego anular SendAsync () de esta manera:

public class ApiKeyHandler : DelegatingHandler
{        
    protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {          
        // do custom stuff here

        return base.SendAsync(request, cancellationToken);
    }
}

¡Todo está bien, pero no hace nada porque no lo he registrado en ningún lado! Nuevamente, he visto en numerosos lugares que debería hacerlo en WebApiConfig.cs pero eso no es parte de ASP.NETNúcleo versión de la API web. He tratado de encontrar análogos entre las diversas cosas en el archivo Startup.cs (Configure (), ConfigureServices (), etc.) pero no tuve suerte.

¿Alguien puede decirme cómo debo registrar mi nuevo controlador?

Respuestas a la pregunta(1)

Su respuesta a la pregunta