2009-03-03 11 views
1

Zaman zaman sayfa yüklenirken zaman aşımına birkaç sayfaya sahip bir ASP.net web uygulaması var (genellikle, bu işlem ile hata karşıya yükleme/indirme yapmak tüm yönetici tipi sayfalarıdır.) AitSession.Timeout ve Server.ScriptTimeout arasındaki fark nedir?

Bir Çözümler hem Session.Timeout hem de Server.ScriptTimeout'u çok büyük sayılara vuruyordu - bu da iyi çalışıyor. Bununla birlikte, her ayarın ne zaman geçerli olduğu hakkında biraz tartışma var. Hafifçe söylemek gerekirse, MSDN sayfaları yoruma açıktır.

Bana, okuyucunun farkın ne olduğuna dair en özet sürümünü verebilir misiniz, yoksa beni bulamadığımız MSDN sayfasına yönlendirebilir miyim?

Teşekkürler, hepsi. (Bu konularda II6 üzerinde .net 2.0.)

bonus takip sorusu olarak

, belirli bir sayfanın boşta test() fonksiyonu tüm uygulama için onları değiştirmek, diyelim ki, bu ayarlarını değiştirerek yok ya da sadece bu sayfa?

Düzenleme: whoops! "Server.Timeout" değil "Session.Timeout" demek istedim.

cevap

6

ScriptTimeout, ASP.NET çalışma zamanının bir ASPX sayfasındaki sonuçlarda bekleyeceği saniye sayısıdır.

Session.Timeout, ASP.NET'in SİZ SİZDE bekleyeceği dakika sayısıdır.

9

Kod zaman aşımı, kodun bir isteği işlemek için ne kadar süre çalıştırabileceğini kontrol eder, dolayısıyla uzun süren kodlara izin vermek için değiştirdiğiniz şey budur. IIS Yöneticisi'nde ayar her istek için kullanılır ve Server.ScriptTimeout özelliği geçerli istek için kullanılır; bu nedenle, eğer mümkünse, tüm normal sayfaların normal kod zaman aşımını kullanması için kodda ayarlamanız gerekir.

Oturum zaman aşımı, kullanıcı son bir istekte bulunulduktan sonra sunucudaki oturum nesnesinin hayatta kaldığı süredir. IIS Yöneticisi'nde oturum zaman aşımı ayarı, oluşturulan tüm yeni oturumlar için varsayılan ayardır ve koddan eriştiğiniz Session.Timeout özelliği, söz konusu oturumun zaman aşımıdır. Varsayılan oturum zaman aşımı 20 dakikadır ve herhangi bir büyük risk almadan biraz yukarı katlayabilirsiniz, ancak hafızada günlerce yapışan oturum nesneleriniz olmaması için bunu makul bir değerde tutmalısınız.

+1

Sorgudan beri IIS6, IIS yöneticisinde oturum ve komut zaman aşımlarının ASP değil ASP.NET'e başvurduğuna işaret ediyor. ASP.NET zaman aşımlarını kontrol etmek için web.config dosyasını düzenlemek gerekiyor. – AnthonyWJones