Übergeben Sie Daten an die Middleware weiter unten in der Kette

8

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?

    
Warrick 10.08.2016, 07:00
quelle

2 Antworten

12

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 .

    
Henk Mollema 10.08.2016, 07:19
quelle
0

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%     
Xudong Jin 10.03.2017 15:41
quelle

Tags und Links