ASP.NET Timeout Süreleri

Web uygulamalarında bazı durumlarda sunucuya yapılan request süreleri çok fazla olabilir veya kullanıcıların sitede uzun süre beklemeleri gerekebilir. Bazen arka tarafta uzun bir işlem süregelmesinden bazen de büyük dosyaların upload yapılmasından ötürü sayfalarda timeout hatası ile karşılaşabiliriz.
Bu gibi durumlarda konfigürasyon dosyasında hangi değişiklikleri yapabileceğimizi aşağıda ayrı ayrı inceleyelim;

Execution Timeout
ASP.NET taleplerinin maksimum süresidir. Bu süre tamamlandığı vakit request, üzerinde herhangi bir hata oluşsun veya oluşmasın IIS tarafından anında iptal edilir. Web.config üzerinde debug değeri true atandığında ise IIS talebi iptal etmez.
Saniye cinsinden değer almaktadır. Default değeri 110 saniyedir.

<configuration>
    <system.web>
	<httpruntime executiontimeout="110"></httpruntime>
    </system.web>
</configuration>

Session Timeout
Kullanıcıların uygulamada bulundukları sürede bekleme durumlarında veri kaybını önlemek için Session süresini uzatabilirsiniz.
Dakika cinsinden değer almaktadır. Default değeri 20 dakikadır.

<configuration>
    <system.web>
        <sessionstate timeout="20"></sessionstate>
    </system.web>
</configuration>

Authentication Timeout
Uygulamaya forms authentication ile login olmuş kullanıcının tekrar login olmasını sağlayabilmek ve cookie süresini belirlemek için kullanılır.
Dakika cinsinden değer almaktadır. Default değeri 30 dakikadır.

Ayrıca slidingExpiration değerine true atandığı vakit her yeni talepte timeout süresi sıfırlanır yani kullanıcı 10. dakikada request gönderdiğinde timeout süresi 20 dakikadan sıfırlanıp tekrar 30 dakikaya çekilir. Bu özellik default true gelmektedir.

<configuration>
<system.web>
<authentication mode="Forms">
<forms timeout="30" slidingexpiration="true"></forms>
</authentication>
</system.web>
</configuration>

AJAX Request Timeout
Sunucu tarafında request süresi ne olursa olsun Microsoft AJAX kütüphanesi ile gönderilmiş asenkron requestlerin kendine özel bir timeout süresi vardır. Bu süre aşıldığı vakit javascript ile kullanıcı uyarılır ve sunucuyu dinleme kesilir.
Saniye cinsinden olup default değeri 90 saniyedir. Bu değer web.config üzerinden değil ilgili ScriptManager üzerinden ezilebilir.

<asp:scriptmanager runat="server" asyncpostbacktimeout="90"></asp:scriptmanager>

IIS Connection Timeout
Son olarak ta IIS tarafındaki bağlantılar için bir timeout değeri bulunmaktadır. Bu değer ise süresi dolmuş veya kapatılması gerekirken kapatılmamış bağlantıların sunucuda maksimum yaşam süresidir. Dolayısıyla çalışan bağlantılar için değil askıdaki bağlantıları etkileyen bir değerdir.

Connection Timeout

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s