Dove viene archiviato TempData in ASP.NET MVC Framework (in particolare, ASP.NET MVC 2)? È memorizzato sul lato server o inviato al client?Dove viene conservato TempData?
risposta
Per impostazione predefinita, TempData utilizza la sessione ASP.NET come memoria. Quindi è memorizzato sul server (InProc
è l'impostazione predefinita). Ma è possibile definire altre modalità di stato della sessione ASP.NET: StateServer e SqlServer. È anche possibile scrivere un provider TempData personalizzato e gestirlo autonomamente se non si desidera utilizzare la sessione ASP.NET.
E 'conservato in deposito sessione, ma c'è una differenza cruciale tra TempData
e Session
:
TempData
è disponibile solo per la sessione di un utente, quindi persiste solo fino a che abbiamo letto è e ottiene cancellato alla fine di una richiesta HTTP.
Uno scenario che si adatta all'utilizzo di TempData
, è quando i dati devono persistere tra due richieste: uno scenario di reindirizzamento. Un altro scenario che posso pensare è quello di restituire un messaggio di errore dopo che un'operazione POST ha avuto esito negativo.
Grazie amico, vorrei poter selezionare più di una risposta come accettata. –
* TempData è disponibile solo per la sessione di un utente, quindi persiste solo finché non lo abbiamo letto e viene cancellato alla fine di una richiesta HTTP. * Le sessioni durano più a lungo delle richieste HTTP. Quindi * TempData è disponibile solo per la sessione di un utente * corretta? –
Grazie mille. Analizzerò di più sulle modalità di stato della sessione ASP.NET, per me è una novità. –