Ändern des Antwortobjekts aus der OWIN Middleware

Meine OWIN Middleware ist so. (Framework ist die 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;

    }
}

Fragen:

Ist es die empfohlene Praxis abzuleitenOwinMiddleware? Ich sehe, dass in der Katana-Quelle einige der Middleware-Klassen von stammenOwinMiddleware und manche nicht.

Ich kann die Anforderungsheader in Ordnung sehen. Einstellen des Antwortheaders oder des Statuscodes nachNext.Invoke in meiner Middleware hat keine Auswirkung auf die an den Client zurückgesendete Antwort. Aber wenn ich den Antwortheader oder den Status vor dem setzeNext.Invoke call, die Antwort mit Headern und der von mir gesetzte Status werden an den Client zurückgesendet. Wie können diese richtig eingestellt werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage