Промежуточное программное обеспечение для установки ответа ContentType

В нашем веб-приложении на основе ASP.NET Core мы хотим следующее: определенные запрошенные типы файлов должны получать в ответ пользовательские типы содержимого. Например..map следует сопоставить сapplication/json, В «полном» ASP.NET 4.x и в сочетании с IIS можно было использовать web.config<staticContent>/<mimeMap> для этого и я хочу заменить это поведение на специальное промежуточное ПО ASP.NET Core.

Поэтому я попробовал следующее (упрощено для краткости):

public async Task Invoke(HttpContext context)
{
    await nextMiddleware.Invoke(context);

    if (context.Response.StatusCode == (int)HttpStatusCode.OK)
    {
        if (context.Request.Path.Value.EndsWith(".map"))
        {
            context.Response.ContentType = "application/json";
        }
    }
}

К сожалению, пытаясь установитьcontext.Response.ContentType после вызова остальной части промежуточного программного обеспечения выдается следующее исключение:

System.InvalidOperationException: "Headers are read-only, response has already started."

Как я могу создать промежуточное программное обеспечение, которое решает это требование?

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

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