ASP.NET oturum durumunu depolamak için SQL Server yapılandırma

Bu makalede, microsoft SQL Server ASP.NET SQL Server modu oturum durumu yönetimi için nasıl yapılandırılır gösterilmektedir.

Orijinal ürün sürümü: ASP.NET
Özgün KB numarası: 317604

Gereksinimler

Aşağıdaki listede ihtiyacınız olan önerilen donanım, yazılım, ağ altyapısı ve hizmet paketleri özetlenmiştir:

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

SQL Server ASP.NET SQL Server oturum durumu için yapılandırma

Aşağıdaki adımlarda, InstallSqlState.sql ve UninstallSqlState.sql betik dosyalarını çalıştırarak SQL Server modu oturum durumu yönetimini yapılandırma adımları açıklanmaktadır.

  1. SQL Sorgu Çözümleyicisi'ndeki Dosya menüsünde Aç'ı seçin.

  2. Sorgu Dosyasını Aç iletişim kutusunda InstallSqlState.sql betik dosyasına gidin ve Aç'ı seçin. varsayılan olarak , InstallSqlState.sql aşağıdaki klasörlerden birinde bulunur:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. SQL Sorgu Çözümleyicisi'nde InstallSqlState.sql açıldıktan sonra betiği çalıştırmak için Sorgu menüsünde Yürüt'e tıklayın.

  4. SQL Server modu oturum durumu yönetim yapılandırmasını kaldırmak için UninstallSqlState.sql betik dosyasını çalıştırmadan önce w3svc işlemini durdurmanız gerekir. Bunu yapmak için şu adımları uygulayın:

    1. Windows Başlat menüsünde Çalıştır'ı seçin, cmd yazın ve ardından Tamam'ı seçerek bir komut istemi açın.
    2. Komut istemine yazın net stop w3svc. w3svc işleminin durdurulduğunu onaylarsınız.
  5. SQL Sorgu Çözümleyicisi'ndeki Dosya menüsünde Aç'ı seçin.

  6. Sorgu Dosyasını Aç iletişim kutusunda, UninstallSqlState.sql betik dosyasına gidin ve Aç'ı seçin. Varsayılan olarak , UninstallSqlState.sql aşağıdaki klasörlerden birinde bulunur:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. SQL Sorgu Çözümleyicisi'nde UninstallSqlState.sql açıldıktan sonra betiği çalıştırmak için Sorgu menüsünde Yürüt'e tıklayın.

  8. SQL Server modu oturum durumu yönetim yapılandırmasını kaldırdıktan sonra w3svc hizmetini yeniden başlatmanız gerekir. w3svc işlemini yeniden başlatmak için komut istemine yazın net start w3svc .

Uygulamanızın Web.config dosyasını değiştirme

ASP.NET SQL Server modu oturum durumu yönetimini uygulamak için uygulamanızın <sessionState>Web.config dosyasının öğesini aşağıdaki gibi değiştirmeniz gerekir:

  1. Oturum durumunun <sessionState> SQL Server depolandığını belirtmek için öğesinin mode özniteliğini SQLServer olarak ayarlayın.

  2. sqlConnectionString SQL Server için bağlantı dizesi belirtmek için özniteliğini ayarlayın. Örneğin:

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

    Not

    Kullanıcı adı> olan kullanıcı<, veritabanında bu işlemi gerçekleştirmek için izinlere sahip olmalıdır.

Değiştirilen <sessionState> öğe aşağıdaki gibi görünmelidir:

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

Not

öğesini ve ilişkili öznitelik değerlerini belirtirken <sessionState> doğru büyük/küçük harf kullandığınızdan emin olun. Bu kod büyük/küçük harfe duyarlıdır.

Sorun giderme

  • UninstallSqlState.sql betik dosyasını çalıştırmadan önce w3svc işlemini durdurmazsanız aşağıdaki hata iletisini alırsınız:

    Şu anda kullanımda olduğundan 'ASPState' veritabanı bırakılamıyor

  • ASPStateTempSessions tablosundaki girdiler ilgili oturumların süresi dolduktan sonra kaldırılmazsa, SQL Server aracısının çalıştığından emin olun. Bu işlevi, SQL Server'deki işler aracılığıyla zamanlanan saklı yordamlar aracılığıyla uygulayabilirsiniz. SQL Server aracısı bu işleri yönetir.

  • ASP.NET SQL Server modu oturum durumu yönetimini yapılandırmak için varsayılan InstallSqlState.sqlve UninstallSqlState.sql betik dosyalarını kullandığınızda. Bu dosyalar ASPStateTempSessions ve ASPStateTempApplications tablolarını varsayılan olarak SQL Server tempdb veritabanına ekler. Ayrıca, SQL Server yeniden başlatırsanız, ASPStateTempSessions ve ASPStateTempApplications tablolarında depolanan oturum durumu verilerini kaybedersiniz. Sunucuyu yeniden başlattığınızda oturum verilerinin kaybolmaması için kalıcı SQL Server oturum durumu yönetimini yapılandırmak için alternatif betikleri çalıştırma hakkında daha fazla bilgi için.

Başvurular

Oturum Durumu