Wenn ich Middleware als Teil der Anforderungs-Pipeline registriere, wie gebe ich Daten über die Middlewarekette weiter. (Endlich zugänglich in einer MVC-Controller-Aktion)
Ich habe zum Beispiel benutzerdefinierte Middleware zur Authentifizierung meiner Anfragen implementiert, aber wie kann ich die Authentifizierungsdaten (z. B. das Ergebnis der Authentifizierung und zusätzliche Daten) in der Middleware-Kette weiterleiten, um schließlich auf die Daten von einem Webbrowser zugreifen zu können MVC-Controller-Aktion und auch in einem benutzerdefinierten MVC-Aktionsfilter zum Einschränken des Zugriffs basierend auf den Authentifizierungsergebnissen.
Gibt es irgendwo, wo ich benutzerdefinierte Daten auf Anfrage speichern kann und später in der Anforderungskette darauf zugreifen kann?
Sie können die Sammlung HttpContext.Items
verwenden, um Daten für die Lebensdauer einer Anfrage zu speichern. Der primäre Anwendungsfall besteht darin, Daten um Komponenten herum zu übertragen (z. B. Middleware und Controller). Hinzufügen und Lesen von Elementen ist einfach:
Schreiben:
%Vor%Lesen:
%Vor%Weitere Informationen finden Sie in der ASP.NET-Dokumentation .
Sie können benutzerdefinierte Daten in IOwinContext Objekt. Auf das IOwinContext-Objekt kann über die Funktion Aufrufen der Middleware zugegriffen werden.
Stellen Sie
ein %Vor%Bekommen
%Vor%Tags und Links c# middleware asp.net-core