2013-02-21 15 views

Antwort

14

Standardmäßig verwendet TempData die ASP.NET-Sitzung als Speicher. So ist es auf dem Server gespeichert (InProc ist der Standardwert). Sie können jedoch auch andere ASP.NET-Sitzungsstatusmodi definieren: StateServer und SqlServer. Sie können auch einen benutzerdefinierten TempData-Provider schreiben und den Speicher selbst verwalten, wenn Sie die ASP.NET-Sitzung nicht verwenden möchten.

+0

Vielen Dank. Ich werde mehr über die ASP.NET-Sitzungsstatusmodi untersuchen, das ist neu für mich. –

5

Es in Sitzungsspeicher gespeichert ist, aber es gibt einen entscheidenden Unterschied zwischen TempData und Session:

TempData verfügbar ist nur für eine Sitzung des Benutzers, so dass es bleibt nur, bis wir es gelesen haben und bekommt am Ende einer HTTP-Anfrage gelöscht.

Ein Szenario, das zur Verwendung von TempData passt, ist, wenn Daten zwischen zwei Anforderungen bestehen bleiben müssen - ein Umleitungsszenario. Ein anderes Szenario, das ich mir vorstellen kann, ist das Zurücksenden einer Fehlermeldung, nachdem eine POST-Operation fehlgeschlagen ist.

+0

Danke Mann, ich wünschte, ich könnte mehr als eine Antwort als akzeptiert auswählen. –

+1

* TempData ist nur für die Sitzung eines Benutzers verfügbar, dh es bleibt nur so lange bestehen, bis wir es gelesen haben und am Ende einer HTTP-Anfrage gelöscht werden. * Sitzungen dauern länger als HTTP-Anfragen. So ist * TempData nur für die Sitzung eines Benutzers verfügbar * korrekt? –

Verwandte Themen