Bir ASP.NET betiğinin yürütülmesi için izin verilen süreyi uzatmak istiyorsanız, Server.ScriptTimeout
değeri artırın . Varsayılan değer, .NET 1.x için 90 saniye ve .NET 2.0 ve sonrası için 110 saniyedir.
Örneğin:
Server.ScriptTimeout = 300;
Bu değer, web.config
dosyanızın httpRuntime
yapılandırma öğesinde de yapılandırılabilir:
<httpRuntime executionTimeout="300"
... other configuration attributes ...
/>
Lütfen MSDN belgelerine göre not edin :
"Bu zaman aşımı, yalnızca derleme öğesindeki hata ayıklama özniteliği False ise geçerlidir. Bu nedenle, hata ayıklama özniteliği Doğru ise, hata ayıklama sırasında uygulamanın kapanmasını önlemek için bu özniteliği büyük bir değere ayarlamanız gerekmez. "
Bunu zaten yaptıysanız ancak oturumunuzun süresinin dolduğunu fark ediyorsanız, ASP.NET HttpSessionState.Timeout
değerini artırın :
Örneğin:
Session.Timeout = 30;
Bu değer, web.config
dosyanızın sessionState
yapılandırma öğesinde de yapılandırılabilir:
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
timeout="30" />
</system.web>
</configuration>
Komut dosyanızın yürütülmesi birkaç dakika sürüyorsa ve çok sayıda eşzamanlı kullanıcı varsa, sayfayı Eşzamansız Sayfa olarak değiştirmeyi düşünün . Bu, uygulamanızın ölçeklenebilirliğini artıracaktır.
Diğer alternatif, sunucuya yönetici erişiminiz varsa, bu uzun süredir devam eden işlemi zamanlanmış bir görev veya bir Windows hizmeti olarak uygulamaya aday olarak düşünmektir.