Яка мета global.asax в asp.net


Відповіді:


119

MSDN містить контур мети файлу global.asax.

Ефективно, global.asax дозволяє писати код, який працює у відповідь на події "системного рівня", такі як запуск програми, закінчення сеансу, помилка програми, що виникає, без того, щоб намагатися вводити цей код у кожен і кожен сторінки вашого сайту.

Ви можете використовувати його, вибравши Add> New Item> Global Application Class у Visual Studio. Додавши файл, ви можете додати код під будь-яку з перелічених подій (і створених за замовчуванням, принаймні у Visual Studio 2008):

  • Application_Start
  • Application_End
  • Сесія_Старт
  • Сесія_закінчити
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Application_Error

Є й інші події, до яких також можна підключитися, наприклад "LogRequest".


2
Запис для global.asax видалено з Вікіпедії.
Кеті Салліван

Чи можемо ми додати файл global.asax для форми Windows?
Jeeva Jsb

@JeevaJsb, ні. Вміст global.asax - це (в основному) події, які викликаються життєвим циклом програми IIS / ASP.net, щоб не було чим запускати код у програмі WinForms.
Роб

Цікаво, чому вони не можуть мати просто код, що успадковується від класу HttpApplication і не потребує файлу asax. Global.asax.cs містить усі матеріали, тому чому необхідність певного файлу asax, який містить лише цей <% @ Application Codebehind = "Global.asax.cs" Inherits = "XXXXX" Language = "C #"%>
Simple Колектив

67

Пояснилися глобальні події asax

Application_Init: запускається, коли програма ініціалізується або вперше викликається. Він викликається для всіх екземплярів об'єкта HttpApplication.

Application_Disposed: запускається безпосередньо перед тим, як програма буде знищена. Це ідеальне місце для очищення раніше використаних ресурсів.

Application_Error: запускається, коли в програмі зустрічається необроблений виняток.

Application_Start: запускається, коли створений перший екземпляр класу HttpApplication. Це дозволяє створювати об'єкти, доступні всім екземплярам HttpApplication.

Application_End: Запускається, коли знищується останній екземпляр класу HttpApplication. Він запускається лише один раз протягом життя програми.

Application_BeginRequest: запускається, коли надходить запит програми. Це перша подія, запущена для запиту, який часто є запитом на сторінку (URL), яку вводить користувач.

Application_EndRequest: остання подія, запущена для запиту програми.

Application_PreRequestHandlerExecute: Запускається до того, як рамка сторінки ASP.NET починає виконувати обробник подій, як-от сторінка або веб-служба.

Application_PostRequestHandlerExecute: Запускається, коли рамка сторінки ASP.NET закінчена, виконуючи обробник подій.

Applcation_PreSendRequestHeaders: запускається перед рамкою сторінки ASP.NET надсилає заголовки HTTP клієнту, що запитує (браузері).

Application_PreSendContent: Запускається до того, як рамка сторінки ASP.NET надсилає вміст запитувальному клієнту (браузеру).

Application_AcquireRequestState: Запускається, коли рамка сторінки ASP.NET отримує поточний стан (стан сесії), пов'язаний з поточним запитом.

Application_ReleaseRequestState: Запускається, коли рамка сторінки ASP.NET завершує виконання всіх обробників подій. Це призводить до того, що всі модулі стану зберігають свої поточні дані про стан.

Application_ResolveRequestCache: запускається, коли рамка сторінки ASP.NET завершує запит на авторизацію. Це дозволяє модулям кешування обслуговувати запит з кешу, тим самим обходячи виконання обробника.

Application_UpdateRequestCache: Запускається, коли рамка сторінки ASP.NET завершує виконання обробника, щоб дозволити модулям кешування зберігати відповіді, які використовуються для обробки наступних запитів.

Application_AuthenticateRequest: Запускається, коли модуль захисту встановив ідентичність поточного користувача як дійсну. На даний момент облікові дані користувача перевірено.

Application_AuthorizeRequest: Здійснюється, коли модуль безпеки перевірив, що користувач може отримати доступ до ресурсів.

Session_Start: спрацьовує, коли новий користувач відвідує веб-сайт програми.

Session_End: Запускається, коли сеанс користувача закінчується, закінчується або він залишає веб-сайт програми.


11

Файл Global.asax, також відомий як файл програми ASP.NET, - це необов'язковий файл, який містить код для реагування на події на рівні додатків та на рівні сесії, підняті ASP.NET або модулями HTTP.

http://msdn.microsoft.com/en-us/library/2027ewzw.aspx


6

Global.asax - це файл програми asp.net.

Це необов’язковий файл, який обробляє події, викликані ASP.NET або HttpModules. В основному використовується для подій початку та закінчення подій та сеансів, а також для глобальної обробки помилок.

Коли він використовується, він повинен знаходитись у кореневій частині веб-сайту.


3

Кореневий каталог веб-програми має особливе значення і певний вміст може міститись у цій папці. Він може мати спеціальний файл, який називається "Global.asax". Рамка ASP.Net використовує вміст у global.asax і створює клас під час виконання, який успадковується від HttpApplication. Протягом життя програми ASP.NET підтримує пул екземплярів HttpApplication, отриманих Global.asax. Коли програма отримує запит http, рамка сторінки ASP.Net призначає одному з цих примірників обробляти цей запит. Цей екземпляр несе відповідальність за управління протягом усього терміну дії запиту, якому він призначений, і екземпляр може бути повторно використаний лише після завершення запиту, коли він буде повернутий у пул. Члени примірника в Global.asax не можна використовувати для обміну даними між запитами, але статичний член може бути. Глобальний.


1

Global.asax може використовуватися для обробки подій, що виникають із програми. Це посилання дає хороше пояснення: http://aspalliance.com/1114

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.