Jak możemy używać global.asax w asp.net? I co to jest?
101
W witrynie MSDN przedstawiono zarys przeznaczenia pliku global.asax.
W efekcie global.asax pozwala na pisanie kodu, który jest uruchamiany w odpowiedzi na zdarzenia „na poziomie systemu”, takie jak uruchomienie aplikacji, zakończenie sesji, wystąpienie błędu aplikacji, bez konieczności umieszczania tego kodu w każdym stronie Twojej witryny.
Możesz go użyć, wybierając pozycję Dodaj> nowy element> globalna klasa aplikacji w programie Visual Studio. Po dodaniu pliku możesz dodać kod pod dowolnym ze zdarzeń, które są wymienione (i utworzone domyślnie, przynajmniej w programie Visual Studio 2008):
Są też inne zdarzenia, do których możesz się podłączyć, na przykład „LogRequest”.
Wyjaśnienie globalnych wydarzeń asax
Application_Init: uruchamiane, gdy aplikacja jest inicjowana lub jest wywoływana po raz pierwszy. Jest wywoływana dla wszystkich instancji obiektu HttpApplication.
Application_Disposed: uruchamiane tuż przed zniszczeniem aplikacji. To idealna lokalizacja do sprzątania wcześniej używanych zasobów.
Application_Error: Wywoływane, gdy w aplikacji zostanie napotkany nieobsługiwany wyjątek.
Application_Start: wyzwalane podczas tworzenia pierwszego wystąpienia klasy HttpApplication. Umożliwia tworzenie obiektów, które są dostępne dla wszystkich instancji HttpApplication.
Application_End: uruchamiane, gdy ostatnie wystąpienie klasy HttpApplication zostanie zniszczone. Jest uruchamiany tylko raz w okresie istnienia aplikacji.
Application_BeginRequest: wywoływane po odebraniu żądania aplikacji. Jest to pierwsze zdarzenie wywoływane przez żądanie, które często jest żądaniem strony (adresem URL), które wpisuje użytkownik.
Application_EndRequest: ostatnie zdarzenie wywołane dla żądania aplikacji.
Application_PreRequestHandlerExecute: uruchamiane, zanim struktura strony ASP.NET rozpocznie wykonywanie procedury obsługi zdarzeń, takiej jak strona lub usługa sieci Web.
Application_PostRequestHandlerExecute: uruchamiane, gdy struktura strony ASP.NET zakończy wykonywanie procedury obsługi zdarzeń.
Applcation_PreSendRequestHeaders: uruchamiane, zanim struktura strony ASP.NET wyśle nagłówki HTTP do klienta żądającego (przeglądarki).
Application_PreSendContent: uruchamiane, zanim struktura strony ASP.NET wyśle zawartość do żądającego klienta (przeglądarki).
Application_AcquireRequestState: uruchamiane, gdy struktura strony ASP.NET pobiera bieżący stan (stan sesji) związany z bieżącym żądaniem.
Application_ReleaseRequestState: wywoływane, gdy struktura strony ASP.NET kończy wykonywanie wszystkich programów obsługi zdarzeń. Powoduje to, że wszystkie moduły stanu zapisują swoje aktualne dane o stanie.
Application_ResolveRequestCache: uruchamiane, gdy struktura strony ASP.NET zakończy żądanie autoryzacji. Umożliwia buforowanie modułów do obsługi żądań z pamięci podręcznej, omijając w ten sposób wykonywanie procedury obsługi.
Application_UpdateRequestCache: wywoływane, gdy struktura strony ASP.NET kończy wykonywanie procedury obsługi, aby umożliwić modułom buforującym przechowywanie odpowiedzi, które mają być używane do obsługi kolejnych żądań.
Application_AuthenticateRequest: uruchamiane, gdy moduł zabezpieczeń ustali, że tożsamość bieżącego użytkownika jest ważna. W tym momencie poświadczenia użytkownika zostały zweryfikowane.
Application_AuthorizeRequest: uruchamiane, gdy moduł zabezpieczeń zweryfikuje, że użytkownik ma dostęp do zasobów.
Session_Start: wywoływane, gdy nowy użytkownik odwiedza witrynę sieci Web aplikacji.
Session_End: uruchamiane, gdy sesja użytkownika przekroczy limit czasu, zakończy się lub opuści witrynę sieci Web aplikacji.
źródło
http://msdn.microsoft.com/en-us/library/2027ewzw.aspx
źródło
Global.asax to plik aplikacji asp.net.
Jest to opcjonalny plik, który obsługuje zdarzenia wywoływane przez ASP.NET lub HttpModules. Używany głównie do zdarzeń rozpoczęcia / zakończenia aplikacji i sesji oraz do globalnej obsługi błędów.
Kiedy jest używany, powinien znajdować się w katalogu głównym witryny.
źródło
Katalog główny aplikacji internetowej ma szczególne znaczenie i może w nim znajdować się określona zawartość. Może mieć specjalny plik o nazwie „Global.asax”. Platforma ASP.Net wykorzystuje zawartość global.asax i tworzy klasę w czasie wykonywania, która jest dziedziczona z HttpApplication. W okresie istnienia aplikacji ASP.NET utrzymuje pulę wystąpień HttpApplication pochodzących z Global.asax. Gdy aplikacja odbiera żądanie http, struktura strony ASP.Net przypisuje jedno z tych wystąpień do przetworzenia tego żądania. To wystąpienie jest odpowiedzialne za zarządzanie całym okresem istnienia żądania, do którego jest przypisane, a wystąpienie może zostać ponownie wykorzystane dopiero po zakończeniu żądania, gdy zostanie ono zwrócone do puli. Elementy członkowskie instancji w Global.asax nie mogą być używane do udostępniania danych między żądaniami, ale statyczny element członkowski może. Światowy.
źródło
Global.asax może służyć do obsługi zdarzeń wynikających z aplikacji. To łącze zapewnia dobre wyjaśnienie: http://aspalliance.com/1114
źródło