Ich habe versucht, eine Website als Sitzung weniger zu machen. Fügen Sie also <sessionState mode="Off" />
zu meiner web.config hinzu. Danach, wenn ich ausführenVerwenden von TempData während <sessionState mode = "Aus" />
Session["test"] = "yes";
ich einen Fehler „Objektverweis gesetzt nicht auf eine Instanz eines Objekts erhalten. "Das ist in Ordnung.
Aber mit dieser Konfiguration kann ich
TempData["test"] = "yes";
in Controller und drucken TempData["test"];
in Ansicht Seite gesetzt. Es funktioniert gut.
Gemäß MSDN "Der TempData-Eigenschaftswert wird im Sitzungszustand gespeichert".
Also, wenn ich <sessionState mode="Off" />
erwähne, wie TempData funktioniert? Wird in ASP.NET TempData noch in der Sitzung oder an einem anderen Ort gespeichert?
Ich verstehe über ITempDataProvider und danke dafür. Ich fand auch, dass Sie anstelle der Sitzung von hier aus temporäre Daten in Cookies aufbewahren können. http://afana.me/post/session-less-controllers-and-TempData-ASPNET-MVC.aspx. –
Ja, der Typ hat seinen eigenen TempData-Provider implementiert, der auf Cookies basiert. –
Wir verwenden TempData für einzelne Anfrage richtig? Also legen wir den Wert für TempData im Controller fest und rufen die View-Seite auf. Ich habe noch einen Zweifel über "Versuchen Sie, es aus Ihrer Sicht zu entfernen und Sie werden einen Fehler bekommen". Kannst du das bitte erklären? –