Bir ASP.NET betiğinin yürütülmesi için izin verilen süreyi uzatmak istiyorsanız, Server.ScriptTimeoutdeğ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.configdosyanızın httpRuntimeyapı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.Timeoutdeğerini artırın :
Örneğin:
Session.Timeout = 30;
Bu değer, web.configdosyanızın sessionStateyapı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.