Sayfayı Yazdır | Pencereyi Kapat

ASP.NET SESSION STATE

Nereden Yazdırıldığı: Datakent
Kategori: Diğer bölümler
Forum Adı: C# & ASP.NET
Forum Tanımlaması: C# ve ASP.NET ile ilgili soru / sorun ve paylaşım bölümü
URL: http://forum.datakent.com/forum_posts.asp?TID=2779
Tarih: 29.Nisan.2024 Saat 08:22


Konu: ASP.NET SESSION STATE
Mesajı Yazan: murat turan
Konu: ASP.NET SESSION STATE
Mesaj Tarihi: 19.Nisan.2015 Saat 10:06
ASP.NET SESSION STATE

ASP.NET de varsayılan olarak sessionState = InProc  modundadir ki bu session bilgilerinin bellekte tutulduğunu gösterir. Bunun avantajları yanında bazı dezavantajlarıda vardır. Mesela web projenin ayarlarını web.config de tutuyorsanız bu ayarlarda değişiklik yaptığınızda tüm oturumlar sonlandırılır veya sayfalardan birisinde güncelleme yaptığınızda da benzer durum olabilmektedir. Bunun yanında hızlı tepkime verir. Eğer session state 'i "SQLServer" olarak değiştirirseniz oturum sonlandırmalarından kurtulabilirsiniz ve benzer tekniği web uygulamanın birden fazla sunucuda olup session bilgilerinin bir noktada tutulması (webfarm) gereken durumlarda da kullanabilirsiniz. 
 

1.
aspnet_regsql.exe -S THEBLACKSEA\SQLEXPRESS -E -ssadd -sstype p 


KOMUTUYLA "ASPState" VERİ TABANINI OLUŞTURALIM. Burada THEBLACKSEA\SQLEXPRESS ibaresi bendeki SQLServer Instance name'dir siz, sizdeki SQL Server "SERVER" kısmını buraya giriniz. diğer parametleri olduğu gibi bırakabilirsiniz zira parametrelerin ne olduğunu merak ediyorsanız .exe komutunun parametrik bilgilerine bakınız !


2.
WEB.CONFIG E EKLEME YAPALIM
timeout=300 minute = 5 saat

<system.web>
.....
    <sessionState mode="SQLServer" cookieless="false" timeout="300"
      sqlConnectionString="Integrated Security=SSPI;data source=THEBLACKSEA\SQLEXPRESS;" />
.....
<system.web>


3.
sisteme login olmayı deneyelim.

eğer 
Login failed for user 'IIS APPPOOL\ASP.NET v4.0'

hatası verirse, SQL Servar'a  IIS APPPOOL\ASP.NET v4.0
kullanıcısını ekleyelim.

mode="SQLServer"  da web.config de istediğin gibi değişiklik yapılabilir
ve yapılan bu değişiklikler timeOut 'a sebep olmayacaktır.

//web.config den veri okumak için

using System.Web.Configuration;
....
string _var1 = WebConfigurationManager.AppSettings["degisken1"].ToString();


//web.config değerlerini değiştirmek

var cnf1 = WebConfigurationManager.OpenWebConfiguration("~");
cnf1.AppSettings.Settings["degisken1"].Value = "test";
cnf1.Save();




-------------
http://www.kasatakip.com - Kasa Takip  |  http://www.caritakip.com - Cari Takip  |  http://www.evraktakip.com - Evrak Takip  |  http://www.etasqlmobil.com - ETA SQL Mobil



Sayfayı Yazdır | Pencereyi Kapat