Какова цель global.asax в asp.net

101

Как мы можем использовать global.asax в asp.net? И что это?

Харикришна
источник

Ответы:

119

В MSDN есть краткое описание назначения файла global.asax.

Фактически global.asax позволяет вам писать код, который запускается в ответ на события «системного уровня», такие как запуск приложения, завершение сеанса, возникновение ошибки приложения, без необходимости пытаться вставлять этот код в каждый страницу вашего сайта.

Вы можете использовать его, выбрав Добавить> Новый элемент> Глобальный класс приложения в Visual Studio. После добавления файла вы можете добавить код под любое из перечисленных событий (и созданных по умолчанию, по крайней мере, в Visual Studio 2008):

  • Application_Start
  • Application_End
  • Session_Start
  • Session_End
  • Application_BeginRequest
  • Application_AuthenticateRequest
  • Ошибка приложения

Есть и другие события, к которым вы также можете подключиться, например, «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 #"%>
Простой Fellow
69

Объяснение глобальных событий 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. В основном используется для событий начала и окончания сеанса и приложения, а также для обработки глобальных ошибок.

При использовании он должен находиться в корне веб-сайта.

Одед
источник
4

Корневой каталог веб-приложения имеет особое значение, и в этой папке может находиться определенный контент. У него может быть специальный файл под названием «Global.asax». Платформа ASP.Net использует содержимое файла global.asax и создает во время выполнения класс, унаследованный от HttpApplication. В течение всего времени существования приложения ASP.NET поддерживает пул экземпляров HttpApplication, производных от Global.asax. Когда приложение получает HTTP-запрос, платформа страницы ASP.Net назначает один из этих экземпляров для обработки этого запроса. Этот экземпляр отвечает за управление всем временем существования запроса, которому он назначен, и этот экземпляр можно повторно использовать только после того, как запрос будет завершен, когда он будет возвращен в пул. Члены экземпляра в Global.asax нельзя использовать для обмена данными между запросами, но можно использовать статический член. Глобальный.

Sandeep MVN
источник
1

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

Мэтт
источник