UĞUR ÇELENK
Web teknolojileri ve haberleri, yazılım ve proje geliştirme kategorileri altında,
makale ve bilgilerin aktarıldığı web günlüğü

Session timeout sorunu ve çözümleri

Pazartesi, 21 Nisan 2008 21:23 by Ugur
Session, belli bir kullanıcıya ait bilgilerin sayfalar arasında korunması veya taşınabilmesi için kullanılmaktadır.
Genellikle, sitede login olma bölümünde kullandığımız session'ların bir timeout(zaman aşımı) değeri vardır, bu ayar default(varsayılan) değer olarak 20 dakikadır. Eğer siz bu 20 dakika olan süreyi değiştirmek isterseniz yapmanız gereken aşağıdaki kodu web.config dosyasınıza yerleştirmeniz olacaktır.

<system.web>
    <authentication mode="Forms">
          <forms timeout="30000"/>
    </authentication>
</system.web>


Diğer bir çözüm ise, session kullandığınız sayfalara ya da bu sayfaların türediği masterpage'n Page_load anına, aşağıdaki kodu eklerseniz sorun yaşamazsınız
Bu kod ne iş yapar? Kullanıcı sayfa üzerinde uzun bir bekleme yaptığında session timeout olmasın diye, metataglara sayfanın yenilenmesini sağlayan bir kod ekliyor, rakamlarla oynayarak optimize edebilirsiniz.

Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 20));

Sunucuya reset atılması durumunda ya da yaptığınız kod değişikliklerini sunucuya gönderirken session sonlanacaktır. Bu durum benim için çok olumsuz bir durum oluşturur diye düşünüyosanız, yapmanız gereken şey, session bilgilerini veritabanı üzerinde tutmanız olacaktır.(Session bilgilerinin nasıl veritabanında tutulacağını öğrenmek için, buraya tıklayabilirsiniz)

Not: Session sürelerini olabildiğince kısa tutmaya özen göstermemiz gerekir, session bilgileri server tarafında memory de saklandığı için bu kısıtlı kaynağın tüketimini optimize etmemiz önemlidir.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

İlişkili yazılar

Yorum ekle


 

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Canlı önizleme

Temmuz 4. 2008 16:03