Изменение объекта ответа из OWIN Middleware

Мое промежуточное программное обеспечение OWIN таково. (Framework - это ASP.NET Web API).

public class MyMiddleware : OwinMiddleware
{
    public MyMiddleware(OwinMiddleware next) : base(next) { }

    public override async Task Invoke(OwinRequest request, OwinResponse response)
    {
        var header = request.GetHeader("X-Whatever-Header");

        await Next.Invoke(request, response);

        response.SetHeader("X-MyResponse-Header", "Some Value");
        response.StatusCode = 403;

    }
}

Вопросы:

Рекомендуется ли выводить изOwinMiddleware? Я вижу, что в источнике Katana некоторые классы промежуточного программного обеспечения происходят изOwinMiddleware а некоторые нет.

Я вижу заголовки запроса в порядке. Установка заголовка ответа или кода состояния послеNext.Invoke в моем промежуточном программном обеспечении не влияет на ответ, возвращаемый клиенту. Но если я установлю заголовок или статус ответа передNext.Invoke вызов, ответ с заголовками и установленным мною статусом возвращается клиенту. Как правильно их настроить?

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

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