Aracılığıyla paylaş


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

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

Özgün ü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, SQL Server modu oturum durumu yönetimini yapılandırmak için InstallSqlState.sql ve UninstallSqlState.sql betik dosyalarının nasıl çalıştırıldığı 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. Bunun için aşağıdaki adımları izleyin:

    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 SQL Server'da <sessionState> 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ının <veritabanında bu işlemi gerçekleştirme izinleri 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'daki işler aracılığıyla zamanlanan saklı yordamlar aracılığıyla uygulayabilirsiniz. Bu işleri SQL Server aracısı yönetir.

  • SQL Server modu oturum durumu yönetimini yapılandırmak için varsayılan InstallSqlState.sql ve ASP.NET UninstallSqlState.sql betik dosyalarını kullandığınızda. Bu dosyalar ASPStateTempSessions ve ASPStateTempApplications tablolarını varsayılan olarak SQL Server'daki 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