Elemento <sessionState>
Consente di configurare le impostazioni di stato sessione per l'applicazione corrente.
<configuration>
<system.web>
<sessionState>
<sessionStatemode="Off|InProc|StateServer|SQLServer" cookieless="true|false" timeout="number of minutes" stateConnectionString="tcpip=server:port" sqlConnectionString="sql connection string" stateNetworkTimeout="number of seconds"/>
Attributi obbligatori
Attributo | Opzione | Descrizione |
---|---|---|
mode | Specifica dove archiviare lo stato sessione. | |
Off | Indica che lo stato sessione non è attivato. | |
InProc | Indica che lo stato sessione è archiviato in locale. | |
StateServer | Indica che lo stato sessione è archiviato in un server remoto. | |
SQLServer | Indica che lo stato sessione è archiviato in SQL Server. |
Attributi facoltativi
Attributo | Opzione | Descrizione |
---|---|---|
cookieless | Specifica se le sessioni senza cookie devono essere utilizzate per identificare le sessioni client. | |
true | Indica che le sessioni senza cookie devono essere utilizzate. | |
false | Indica che le sessioni senza cookie non devono essere utilizzate. Il valore predefinito è false. | |
timeout | Specifica il numero di minuti durante i quali una sessione può essere inattiva prima di essere abbandonata. Il valore predefinito è 20. | |
stateConnectionString | Specifica il nome e la porta del server in cui lo stato sessione è archiviato in remoto, ad esempio, "tcpip=127.0.0.1:42424". Questo attributo è obbligatorio quando mode è impostato su StateServer. | |
sqlConnectionString | Specifica la stringa di connessione per SQL Server, Ad esempio "data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind". Questo attributo è obbligatorio quando mode è impostato su SQLServer. | |
stateNetworkTimeout | Quando si utilizza la modalità StateServer per memorizzare lo stato della sessione, consente di specificare il numero di secondi di inattività ammesso per la connessione di rete TCP/IP tra il server Web e il server di stato prima di lasciare la sessione. Il valore predefinito è 10. |
Osservazioni
Per utilizzare la modalità StateServer
- Assicurarsi che il servizio di stato ASP.NET sia in esecuzione sul server remoto in cui verranno archiviate le informazioni relative allo stato sessione. Questo servizio viene installato con ASP.NET e, per impostazione predefinita, si trova nel percorso <Unità>:\systemroot\Microsoft.NET\Framework\versione\aspnet_state.exe.
- Nel file Web.config dell'applicazione impostare mode=StateServer e l'attributo stateConnectionString, ad esempio stateConnectionString="tcpip=dataserver:42424".
Per utilizzare la modalità SQLServer
- Eseguire InstallSqlState.sql, che, per impostazione predefinita, viene installato nel percorso <Unità>:\systemroot\Microsoft.NET\Framework\versione, nel computer in cui viene eseguito SQL Server che memorizzerà lo stato della sessione. In questo modo vengono creati un database denominato ASPState con le nuove stored procedure e le tabelle ASPStateTempApplications e ASPStateTempSessions del database TempDB.
- Nel file Web.config dell'applicazione, impostare mode=SQLServer e l'attributo sqlConnectionString, ad esempio sqlConnectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind".
Esempio
Nell'esempio che segue vengono specificate diverse impostazioni di configurazione di stato sessione.
<configuration>
<system.web>
<sessionState mode="InProc"
cookieless="true"
timeout="20"/>
</sessionState>
</system.web>
</configuration>
Requisiti
Contenuto in: <system.web>
Piattaforma Web: IIS 5.0, IIS 5.1, IIS 6.0
File di configurazione: Machine.config, Web.config
Gestore della sezione di configurazione: System.Web.SessionState.SessionStateSectionHandler
Vedere anche
Configurazione ASP.NET | Schema delle impostazioni ASP.NET | SessionStateModule