Как удалить заголовок сервера, используя промежуточное ПО?

В ASP.NET Core 1.0 каждый ответ будет содержать заголовокServer: Kestrel, Я хочу удалить этот заголовок вместе с другим заголовком, какX-Power-By используя промежуточное ПО.

Я знаю, что мы можем удалить заголовок Kestrel в конфигурации хоста, установив следующее, но я хочу сделать это с использованием промежуточного программного обеспечения (на самом деле, когда у нас есть Httpmodule, мы можем сделать это так, поэтому я учусь тому же). Я попробовал свой бит, это не сработало.

new WebHostBuilder()
    .UseKestrel(c => c.AddServerHeader = false)

Пробный код:

public class HeaderRemoverMiddleware
{
    private readonly RequestDelegate _next;
    public HeaderRemoverMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext httpContext)
    {
        httpContext.Response.OnStarting(callback: removeHeaders, state: httpContext);
        await _next.Invoke(httpContext);
    }

    private Task removeHeaders(object context)
    {
        var httpContext = (HttpContext)context;
        if (httpContext.Response.Headers.ContainsKey("Server"))
        {
            httpContext.Response.Headers.Remove("Server");
        }
        return Task.FromResult(0);
    }
}

public static class HeaderRemoverExtensions
{
    public static IApplicationBuilder UseServerHeaderRemover(this IApplicationBuilder builder)
    {
        return builder.UseMiddleware<HeaderRemoverMiddleware>();
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос