A parte il fatto che la memoria di sessione è globale di sessione a più di una pagina, perché dovresti voler utilizzare il viewstate per contenere i valori?Perché dovresti utilizzare l'oggetto di archiviazione ViewState di asp.net sull'oggetto di archiviazione Session?
Sembra quasi ridicolo inviare qualsiasi tipo di informazione diversa da una piccola stringa di query come valori, avanti e indietro dal client al server. Intendo che spreco di larghezza di banda (!), Semplicemente per scopi di archiviazione. La sessione, sebbene globale su più pagine, sembra un'alternativa completamente superiore allo stato di visualizzazione.
Soprattutto con i controlli e le varianti di asp.net ajax, il viewstate potrebbe diventare rapidamente gonfio tenendo traccia dei vari stati e variabili di tutti i diversi controlli e elementi HTML.
Ma allora perché c'è lo storage viewstate per le variabili di pagina e gli oggetti?
Forse mi manca un altro grande utilizzo per lo spazio di visualizzazione della pagina, qualcuno sa qualcosa?
Grazie per la lettura!
EDIT: Ognuno ha avuto un'ottima risposta, mi dispiace se non ho scelto il tuo.
Inoltre, le sessioni sono fondamentalmente coppie chiave-valore: se l'utente apre più schede e si sta memorizzando un ID in sessione, si avranno problemi. – chris