2009-04-29 14 views
1

HttpContext.Current gibt ein IPrincipal Objekt zurück, das den Sicherheitskontext des aktuellen Benutzers darstellt. Ich verstehe Principal Objekt kombiniert die Identität eines Benutzers mit anderen Informationen, wie Rollen, Privilegien etc.HttpContext.Current repräsentiert den aktuellen Kontext eines Benutzers ... was ist mit dem aktuellen Kontext gemeint?

Aber warum sagen wir, dass es den aktuellen Kontext des Benutzers darstellt? Warum nicht einfach sagen, dass es einen Benutzer repräsentiert? Gibt es einen bestimmten Grund, warum wir den Begriff aktuellen Kontext verwenden?

+2

Nun, eigentlich seine Kernrolle ist die Bereitstellung der aktuellen Thread HttpContext, und ein HttpContext ist alles um die HTTP-Anfrage und ihre Antwort - dies beinhaltet die Authentifizierung .. nicht nur bietet Zugriff auf diese Dinge, aber es eingreift Eine wichtige Tatsache in asp.net, dass eine Anfrage auf Thread A beginnen und auf Thread B enden kann. Dies bedeutet, dass Thread-Statik allein nicht ausreichen würde, um eine Anfrage und ihre Antwort eindeutig zu identifizieren. – meandmycode

Antwort

7

Das HttpContext-Objekt enthält Zugriff auf viele andere hilfreiche Elemente, z. B. das Server-Objekt, mit dem Pfade zu physischen und anderen Pfaden zugeordnet werden können. Es gibt viel mehr als nur Benutzerinformationen.

Es ist der wahre Kontext der HTTP-Anfrage, wie es derzeit steht. Dies hat Anfrage, Antwort und andere Objekte verfügbar.

+0

"Kontext der HTTP-Sitzung" - genauer gesagt, der Kontext der aktuellen HTTP-Anfrage. – Joe

+0

@joe - Fixed - toller Punkt –

+0

vielen Dank für Ihre Hilfe – SourceC

Verwandte Themen