Condividi tramite


Configurare SQL Server per archiviare ASP.NET stato sessione

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

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

Requisiti

L'elenco seguente illustra i service pack consigliati per hardware, software, infrastruttura di rete e Service Pack necessari:

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

Configurare SQL Server per ASP.NET stato della sessione di 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. In SQL Query Analyzer scegliere Apri dal menu File.

  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 la configurazione di gestione dello stato della sessione in modalità SQL Server, è necessario arrestare il processo w3svc. A tale scopo, effettuare i passaggi seguenti:

    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 visualizzato un messaggio di conferma dell'arresto del processo w3svc.
  5. In SQL Query Analyzer scegliere Apri dal menu File.

  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 la configurazione della gestione dello stato della sessione in modalità SQL Server, è 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 ASP.NET gestione dello stato della sessione in modalità 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>"
    

    Note

    L'utente, <il 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"
/>

Note

Assicurarsi di usare la distinzione tra maiuscole e minuscole corrette quando si specifica l'elemento e i valori dell'attributo <sessionState> 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 SQL Server Agent sia in esecuzione. È possibile implementare questa funzionalità tramite stored procedure pianificate tramite processi in SQL Server. SQL Server Agent gestisce questi processi.

  • Quando si usano i file di script InstallSqlState.sql e UninstallSqlState.sql predefiniti per configurare ASP.NET gestione dello stato della sessione in modalità 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 dello 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 di SQL Server in modo che i dati della sessione non vengano persi quando si riavvia il server.

Riferimenti

Stato sessione