Configurare SQL Server per archiviare ASP.NET stato della sessione

Questo articolo illustra come configurare Microsoft SQL Server per la gestione dello stato della sessione in modalità ASP.NET SQL Server.

Versione originale del prodotto: ASP.NET
Numero KB originale: 317604

Requisiti

L'elenco seguente descrive l'hardware, il software, l'infrastruttura di rete e i Service Pack consigliati necessari:

  • Windows
  • .NET Framework
  • Internet Information Services (IIS)
  • SQL Server

Configurare SQL Server per lo stato della sessione ASP.NET SQL Server

I passaggi seguenti descrivono come eseguire il InstallSqlState.sql e i file di script UninstallSqlState.sql per configurare la gestione dello stato della sessione in modalità SQL Server.

  1. Nel menu File di SQL Query Analyzer selezionare Apri.

  2. Nella finestra di dialogo Apri file di query passare al file di script InstallSqlState.sql e quindi selezionare Apri. Per impostazione predefinita, InstallSqlState.sql si trova in una delle cartelle seguenti:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. Dopo aver aperto InstallSqlState.sql in Sql Query Analyzer, selezionare Esegui dal menu Query per eseguire lo script.

  4. Prima di eseguire il file di script UninstallSqlState.sql per disinstallare SQL Server configurazione di gestione dello stato sessione in modalità, è necessario arrestare il processo w3svc. A tal fine, attenersi alla seguente procedura:

    1. Nel menu Start di Windows selezionare Esegui, digitare cmd e quindi selezionare OK per aprire un prompt dei comandi.
    2. Al prompt dei comandi digitare net stop w3svc. Viene visualizzata una conferma dell'arresto del processo w3svc.
  5. Nel menu File di SQL Query Analyzer selezionare Apri.

  6. Nella finestra di dialogo Apri file di query passare al file di script UninstallSqlState.sql e quindi selezionare Apri. Per impostazione predefinita, UninstallSqlState.sql si trova in una delle cartelle seguenti:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. Dopo aver aperto UninstallSqlState.sql in Sql Query Analyzer, selezionare Esegui dal menu Query per eseguire lo script.

  8. Dopo aver disinstallato SQL Server configurazione di gestione dello stato sessione in modalità, è necessario riavviare il servizio w3svc. Per riavviare il processo w3svc, digitare net start w3svc al prompt dei comandi.

Modificare il file Web.config dell'applicazione

Per implementare la gestione dello stato sessione in modalità ASP.NET SQL Server, è necessario modificare l'elemento <sessionState> del file Web.config dell'applicazione come indicato di seguito:

  1. Impostare l'attributo mode dell'elemento <sessionState> su SQLServer per indicare che lo stato della sessione è archiviato in SQL Server.

  2. Impostare l'attributo sqlConnectionString per specificare il stringa di connessione per SQL Server. Ad esempio:

    sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"
    

    Nota

    L'utente, <nome> utente, deve disporre delle autorizzazioni per eseguire questa operazione nel database.

L'elemento modificato <sessionState> dovrebbe essere visualizzato come segue:

<sessionState
    mode="SQLServer"
    sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
    cookieless="false"
    timeout="20"
/>

Nota

Assicurarsi di usare il caso corretto quando si specificano l'elemento <sessionState> e i valori di attributo associati. Questo codice fa distinzione tra maiuscole e minuscole.

Risoluzione dei problemi

  • Se non si arresta il processo w3svc prima di eseguire il file di script UninstallSqlState.sql , viene visualizzato il messaggio di errore seguente:

    Impossibile eliminare il database 'ASPState' perché è attualmente in uso

  • Se le voci nella tabella ASPStateTempSessions non vengono rimosse dopo la scadenza delle sessioni correlate, assicurarsi che l'agente SQL Server sia in esecuzione. È possibile implementare questa funzionalità tramite stored procedure pianificate tramite processi in SQL Server. L'agente SQL Server gestisce questi processi.

  • Quando si usano i file di script InstallSqlState.sql e UninstallSqlState.sql predefiniti per configurare la gestione dello stato sessione in modalità ASP.NET SQL Server. Questi file aggiungono le tabelle ASPStateTempSessions e ASPStateTempApplications al database tempdb in SQL Server per impostazione predefinita. Inoltre, se si riavvia SQL Server, si perdono i dati sullo stato della sessione archiviati nelle tabelle ASPStateTempSessions e ASPStateTempApplications. Per altre informazioni su come eseguire script alternativi per configurare la gestione permanente dello stato della sessione SQL Server in modo che i dati della sessione non vadano persi quando si riavvia il server.

Riferimenti

Stato sessione