Asp.net'te global.asax'ı nasıl kullanabiliriz? Ve bu nedir?
Asp.net'te global.asax'ı nasıl kullanabiliriz? Ve bu nedir?
Yanıtlar:
MSDN, global.asax dosyasının amacının ana hatlarına sahiptir .
Etkili bir şekilde, global.asax, uygulama başlatma, oturum bitirme, oluşan bir uygulama hatası gibi "sistem düzeyinde" olaylara yanıt olarak çalışan kodu yazmanıza olanak tanır, bu kodu her birine tek tek denemeye gerek kalmadan sitenizin sayfası.
Visual Studio'da Ekle> Yeni Öğe> Global Uygulama Sınıfı'nı seçerek kullanabilirsiniz. Dosyayı ekledikten sonra, listelenen (ve varsayılan olarak, en azından Visual Studio 2008'de oluşturulan) olaylardan herhangi birinin altına kod ekleyebilirsiniz:
"LogRequest" gibi bağlanabileceğiniz başka olaylar da vardır.
Global asax olayları açıklandı
Application_Init: Bir uygulama başlatıldığında veya ilk çağrıldığında tetiklenir. Tüm HttpApplication nesne örnekleri için çağrılır.
Application_Disposed: Bir uygulama yok edilmeden hemen önce tetiklenir. Bu, önceden kullanılmış kaynakları temizlemek için ideal yerdir.
Application_Error: Uygulama içinde işlenmeyen bir istisna ile karşılaşıldığında tetiklenir.
Application_Start: HttpApplication sınıfının ilk örneği oluşturulduğunda tetiklenir. Tüm HttpApplication örnekleri tarafından erişilebilen nesneler oluşturmanıza olanak tanır.
Application_End: Bir HttpApplication sınıfının son örneği yok edildiğinde tetiklenir. Bir uygulamanın ömrü boyunca yalnızca bir kez ateşlenir.
Application_BeginRequest: Bir uygulama isteği alındığında tetiklenir. Bu, genellikle bir kullanıcının girdiği bir sayfa isteği (URL) olan bir istek için tetiklenen ilk olaydır.
Application_EndRequest: Bir uygulama isteği için tetiklenen son olay.
Application_PreRequestHandlerExecute: ASP.NET sayfa çerçevesi bir sayfa veya Web hizmeti gibi bir olay işleyicisini yürütmeye başlamadan önce tetiklenir.
Application_PostRequestHandlerExecute: ASP.NET sayfa çerçevesi bir olay işleyicisini yürütmeyi bitirdiğinde tetiklenir.
Applcation_PreSendRequestHeaders: ASP.NET sayfa çerçevesi istekte bulunan bir istemciye (tarayıcı) HTTP üstbilgileri göndermeden önce tetiklenir .
Application_PreSendContent: ASP.NET sayfa çerçevesi, isteyen bir istemciye (tarayıcı) içerik göndermeden önce tetiklenir.
Application_AcquireRequestState: ASP.NET sayfa çerçevesi, geçerli istekle ilgili geçerli durumu (Oturum durumu) aldığında tetiklenir.
Application_ReleaseRequestState: ASP.NET sayfa çerçevesi tüm olay işleyicilerinin yürütülmesini tamamladığında tetiklenir. Bu, tüm durum modüllerinin mevcut durum verilerini kaydetmesine neden olur.
Application_ResolveRequestCache: ASP.NET sayfa çerçevesi bir yetkilendirme isteğini tamamladığında tetiklenir. Önbelleğe alma modüllerinin isteğe önbellekten hizmet etmesini sağlar, böylece işleyici yürütmesini atlar.
Application_UpdateRequestCache: ASP.NET sayfa çerçevesi, önbelleğe alma modüllerinin sonraki istekleri işlemek için kullanılacak yanıtları depolamasına izin vermek için işleyici yürütmesini tamamladığında tetiklenir.
Application_AuthenticateRequest: Güvenlik modülü mevcut kullanıcının kimliğini geçerli olarak belirlediğinde tetiklenir. Bu noktada, kullanıcının kimlik bilgileri doğrulandı.
Application_AuthorizeRequest: Güvenlik modülü, bir kullanıcının kaynaklara erişebildiğini doğruladığında tetiklenir.
Session_Start: Yeni bir kullanıcı uygulama Web sitesini ziyaret ettiğinde tetiklenir .
Session_End: Bir kullanıcının oturumu zaman aşımına uğradığında, sona erdiğinde veya uygulama Web sitesinden çıktığında tetiklenir .
ASP.NET uygulama dosyası olarak da bilinen Global.asax dosyası, ASP.NET veya HTTP modülleri tarafından oluşturulan uygulama düzeyinde ve oturum düzeyinde olaylara yanıt vermek için kod içeren isteğe bağlı bir dosyadır.
Global.asax , asp.net uygulama dosyasıdır.
ASP.NET veya HttpModules tarafından oluşturulan olayları işleyen isteğe bağlı bir dosyadır. Çoğunlukla uygulama ve oturum başlatma / bitiş olayları ve genel hata işleme için kullanılır.
Kullanıldığında, web sitesinin kök dizininde yer almalıdır.
Bir web uygulamasının kök dizininin özel bir önemi vardır ve bu klasörde belirli içerikler bulunabilir. "Global.asax" adında özel bir dosyası olabilir. ASP.Net çerçevesi, global.asax içindeki içeriği kullanır ve çalışma zamanında HttpApplication'dan miras alınan bir sınıf oluşturur. Bir uygulamanın ömrü boyunca ASP.NET, Global.asax'tan türetilmiş HttpApplication örneklerinden oluşan bir havuz tutar. Bir uygulama bir http isteği aldığında, ASP.Net sayfa çerçevesi bu isteği işlemek için bu örneklerden birini atar. Bu örnek, atandığı isteğin tüm yaşam süresinin yönetilmesinden sorumludur ve örnek yalnızca istek havuza döndürüldüğünde tamamlandıktan sonra yeniden kullanılabilir. Global.asax içindeki örnek üyeleri, istekler arasında veri paylaşmak için kullanılamaz, ancak statik üye olabilir. Global.
Global.asax, uygulamadan kaynaklanan olayları işlemek için kullanılabilir. Bu bağlantı, iyi bir açıklama sağlar: http://aspalliance.com/1114