Come impostare il timeout della sessione in web.config

Ho provato molto ma non riesco a trovare una soluzione su come impostare il valore di timeout della sessione per la sessione in-process per un’applicazione Web ASP.Net.

Sto usando VSTS 2008 + .Net 3.5 + C #. Ecco cosa ho scritto da solo per impostare il timeout per essere 1 minuto, è corretto?

Ho scritto sotto la sezione system.web nel web.config

  

Se si desidera impostare il timeout su 20 minuti, utilizzare qualcosa come questo:

      

dovrei vederti bene

Il valore che si imposta nell’attributo di timeout è uno dei modi corretti per impostare il valore di timeout della sessione.

L’attributo timeout specifica il numero di minuti che una sessione può essere intriggers prima di essere abbandonata. Il valore predefinito per questo attributo è 20.

Assegnando un valore 1 a questo attributo, hai impostato la sessione da abbandonare in 1 minuto dopo il suo inattività.

Per verificare ciò, crea una semplice pagina aspx e scrivi questo codice nell’evento Page_Load,

 Response.Write(Session.SessionID); 

Apri un browser e vai a questa pagina. Verrà stampato un ID di sessione. Attendere un minuto per passare, quindi premere Aggiorna. L’ID della sessione cambierà.

Ora, se la mia ipotesi è corretta, vuoi far disconnettere i tuoi utenti non appena la sessione scade. Per fare ciò, puoi configurare una pagina di accesso che verificherà le credenziali dell’utente e creare una variabile di sessione come questa –

 Session["UserId"] = 1; 

Ora, dovrai eseguire un controllo su ogni pagina per questa variabile come questa:

 if(Session["UserId"] == null) Response.Redirect("login.aspx"); 

Questo è un esempio di come funzionerà.

Tuttavia, per creare app sicure di qualità di produzione, utilizzare le classi di ruoli e appartenenza forniti da ASP.NET. Forniscono l’autenticazione basata su form che è molto più reliabletha della normale autenticazione basata sulla sessione che si sta tentando di utilizzare.

Usalo in web.config :