Zmiana obiektu odpowiedzi z OWIN Middleware

Moje oprogramowanie pośrednie OWIN jest takie. (Framework to 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;

    }
}

Pytania:

Czy jest to zalecana praktyka?OwinMiddleware? Widzę, że w źródle Katana niektóre klasy oprogramowania pośredniego pochodząOwinMiddleware a niektóre nie.

Widzę nagłówki żądania w porządku. Ustawianie nagłówka odpowiedzi lub kodu statusu poNext.Invoke w moim oprogramowaniu pośrednim nie ma wpływu na odpowiedź zwróconą klientowi. Ale jeśli ustawię nagłówek odpowiedzi lub status przedNext.Invoke wywołanie, odpowiedź z nagłówkami i ustawiony przeze mnie status są zwracane klientowi. Jaki jest właściwy sposób ich ustawienia?

questionAnswers(2)

yourAnswerToTheQuestion