27 Nisan 2013 Cumartesi

Asp.Net Session'ını SQL Server üzerinde tutma

Bildiğiniz üzere Asp.Net uygulamalarında Session oturum bazlı verileri saklamak için kullanılan bir yöntemdir. Asp.Net uygulamanıza ait bu Session değerlerinizi SQL Server üzerinde saklamak istiyorsanız aşağıdaki adımları izlemeniz yeterlidir.

Neden SQL Server'da session değerlerini saklayayım sorusuna cevap:
"Uygulamaları buluta (örn: Azure) almak ve sunucu çiftliklerinde çalıştırmak için gerekli bir yöntem. Eskiden fiziksel load balancer'lar "sticky session'lar" ile bunu yönettiği için pek ihtiyaç olmazdı ama artık sunucular sanal olduğu için onlara güvenmek yerine SQL Server'a güveniyoruz." (Teşekkürler Ekin Çağlar :))

Adım1: Aspnet_regsql ile session'ın tutulacağı veritababını oluşturmak.
Bu veri tabanını oluşturmak için command prompt'u açıp aşağıdaki resimde gördüğünüz klasörde bulunan 'aspnet_regsql.exe' dosyasını çalıştıracağız.

Komut: aspnet_regsql.exe -S localhost -E -ssadd -sstype p


Bu komutu çalıştırdıktan sonra SQL Server'da ASPState isimli veri tabanını görebilirsiniz.


Adım2: Asp.NET projenizde web.config dosyasında session düzenlemesi.
Web.config dosyasında sessionstate etitekini aşağıdaki gibi değiştirirseniz artık session'larınız sql server saklanacaktır.

<sessionState mode="SQLServer" customProvider="DefaultSessionProvider" timeout="60" allowCustomSqlDatabase="false" sqlCommandTimeout="3600" sqlConnectionString="Server=localhost;User ID=kadir;Password=7a3g6b18b2c63;">

--
Bilgi paylaştıkça büyür...

Hiç yorum yok:

Yorum Gönder