2011-05-03 13 views
15

... Application_Start yöntemi bir sonraki istek (ler) için tekrar çalıştırılacak mı, olmayacak mı?Application_Start uygulamasında işlenmeyen bir istisna atılırsa ne olur?

Bu, ASP.NET sürümüne, barındırma sunucusu sürümüne ve/veya başka bir içeriğe bağlı mı?

Orada kritik derlemeleri yüklemek veya yüklemek için iyi bir şey olup olmadığını belirlemeye çalışıyorum. Örneğin, tüm uygulamanın işleyişi için hayati olan veri erişim düzenekleri. Bu tür bir montajın yüklenmemesi, sonraki taleplerin faydasız hale getirilmesini sağlayacaktır.

+0

Hatayı çözüyorsunuz - Başlangıçtaki tüm kritik derlemeleri yükledim, ancak aynı zamanda yüklenen diğer kritik noktalarda da bunları tekrar kontrol edin, başlangıçta yüklenememesi durumunda – Aristos

cevap

9

Application_Start, her web uygulaması için yalnızca bir kez tetiklenir, böylece sizin durumunuzda, sonraki istekler için başlangıç ​​tekrar olmayacaktır.

Tipik olarak, bir kez başlangıç ​​kodunu try-catch içindeki uygulama başlangıcına koymayı tercih ediyorum ve bir istisna varsa, global hata bayrağını ayarlayın. Her bir BeginRequest uygulamasında bayrak işaretlenir ve ayarlanmışsa, kullanıcı sitenin kapalı olduğunu gösteren özel bir hata sayfasına yönlendirilir ve lütfen yöneticiyle iletişim kurun.

+0

"genel hata bayrağını ayarla" - Ne var? küresel hata bayrağı? – Alex

+1

@Alex, global.asax dosyasında, hata durumunda 'application_start' olarak ayarlanan basit özel statik boole değişkeni. 'BeginRequest' uygulamasında, uygulama başlatılırken bir hata olup olmadığını ve eğer evetse hata sayfasına yönlendirme yapılıp yapılmadığını kontrol etmek için bayrak kontrol edilir. – VinayC

+0

Ah, şimdi anladım. ASP.NET bayrağı içinde bir yapı kullandığınızı düşündüm. Teşekkürler! – Alex

İlgili konular