Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Класс HttpApplication

 

Опубликовано: Октябрь 2016

Определяет методы, свойства и события, являющиеся общими для всех объектов в приложении ASP.NET. Этот класс является базовым для приложений, определенных пользователем в файле Global.asax.

Пространство имен:   System.Web
Сборка:  System.Web (в System.Web.dll)


public class HttpApplication : IComponent, IDisposable, IHttpAsyncHandler, 
	IHttpHandler

ИмяОписание
System_CAPS_pubmethodHttpApplication()

Инициализирует новый экземпляр класса HttpApplication.

ИмяОписание
System_CAPS_pubpropertyApplication

Возвращает текущее состояние приложения.

System_CAPS_pubpropertyContext

Получает информацию о текущем запросе HTTP.

System_CAPS_protpropertyEvents

Получает список событий делегатов обработчиков, которые обрабатывают все события приложения.

System_CAPS_pubpropertyModules

Возвращает коллекцию модулей для текущего приложения.

System_CAPS_pubpropertyRequest

Возвращает внутренний объект запроса для текущего запроса.

System_CAPS_pubpropertyResponse

Возвращает внутренний объект ответа для текущего запроса.

System_CAPS_pubpropertyServer

Возвращает внутренний объект сервера для текущего запроса.

System_CAPS_pubpropertySession

Возвращает внутренний объект сеанса, предоставляющий доступ к данным сеанса.

System_CAPS_pubpropertySite

Возвращает или задает интерфейс веб-узла для IComponent реализации.

System_CAPS_pubpropertyUser

Получает объект пользователя для текущего запроса.

ИмяОписание
System_CAPS_pubmethodAddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный AcquireRequestState событие в коллекцию асинхронных AcquireRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный AcquireRequestState событие в коллекцию асинхронных AcquireRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный AuthenticateRequest событие в коллекцию асинхронных AuthenticateRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный AuthenticateRequest событие в коллекцию асинхронных AuthenticateRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный AuthorizeRequest событие в коллекцию асинхронных AuthorizeRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный AuthorizeRequest событие в коллекцию асинхронных AuthorizeRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnBeginRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный BeginRequest событие в коллекцию асинхронных BeginRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnBeginRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный BeginRequest событие в коллекцию асинхронных BeginRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnEndRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный EndRequest событие в коллекцию асинхронных EndRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnEndRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный EndRequest событие в коллекцию асинхронных EndRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnLogRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный LogRequest событие в коллекцию асинхронных LogRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnLogRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный LogRequest событие в коллекцию асинхронных LogRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный MapRequestHandler событие в коллекцию асинхронных MapRequestHandler обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный MapRequestHandler событие в коллекцию асинхронных MapRequestHandler обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostAcquireRequestState событие в коллекцию асинхронных PostAcquireRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostAcquireRequestState событие в коллекцию асинхронных PostAcquireRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostAuthenticateRequest событие в коллекцию асинхронных PostAuthenticateRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostAuthorizeRequest событие в коллекцию асинхронных PostAuthorizeRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostAuthorizeRequest событие в коллекцию асинхронных PostAuthorizeRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostAuthorizeRequest коллекцию асинхронных PostAuthorizeRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostLogRequest событие в коллекцию асинхронных PostLogRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostLogRequest событие в коллекцию асинхронных PostLogRequest обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostMapRequestHandler событие в коллекцию асинхронных PostMapRequestHandler обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostMapRequestHandler событие в коллекцию асинхронных PostMapRequestHandler обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostReleaseRequestState событие в коллекцию асинхронных PostReleaseRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostReleaseRequestState событие в коллекцию асинхронных PostReleaseRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostRequestHandlerExecute событие в коллекцию асинхронных PostRequestHandlerExecute обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostRequestHandlerExecute событие в коллекцию асинхронных PostRequestHandlerExecute обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostResolveRequestCache событие в коллекцию асинхронных PostResolveRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostResolveRequestCache событие в коллекцию асинхронных PostResolveRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PostUpdateRequestCache событие в коллекцию асинхронных PostUpdateRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PostUpdateRequestCache событие в коллекцию асинхронных PostUpdateRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный PreRequestHandlerExecute событие в коллекцию асинхронных PreRequestHandlerExecute обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный PreRequestHandlerExecute событие в коллекцию асинхронных PreRequestHandlerExecute обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный ReleaseRequestState событие в коллекцию асинхронных ReleaseRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный ReleaseRequestState событие в коллекцию асинхронных ReleaseRequestState обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный ResolveRequestCache обработчик событий к коллекции асинхронных ResolveRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный ResolveRequestCache обработчик событий к коллекции асинхронных ResolveRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler)

Добавляет указанный UpdateRequestCache событие в коллекцию асинхронных UpdateRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodAddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

Добавляет указанный UpdateRequestCache событие в коллекцию асинхронных UpdateRequestCache обработчики событий для текущего запроса.

System_CAPS_pubmethodCompleteRequest()

Вызывает ASP.NET для пропуска всех событий и фильтрации в HTTP цепи выполнения конвейера и непосредственное выполнение EndRequest события.

System_CAPS_pubmethodDispose()

Удаляет HttpApplication экземпляра.

System_CAPS_pubmethodEquals(Object)

Определяет, равен ли заданный объект текущему объекту.(Наследуется от Object.)

System_CAPS_protmethodFinalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора.(Наследуется от Object.)

System_CAPS_pubmethodGetHashCode()

Служит хэш-функцией по умолчанию.(Наследуется от Object.)

System_CAPS_pubmethodGetOutputCacheProviderName(HttpContext)

Возвращает имя поставщика кэша вывода по умолчанию, настроенного для веб-сайта.

System_CAPS_pubmethodGetType()

Возвращает объект Type для текущего экземпляра.(Наследуется от Object.)

System_CAPS_pubmethodGetVaryByCustomString(HttpContext, String)

Предоставляет реализацию приложения VaryByCustom свойство.

System_CAPS_pubmethodInit()

Выполняет пользовательский код инициализации после добавления всех модулей обработчиков событий.

System_CAPS_protmethodMemberwiseClone()

Создает неполную копию текущего объекта Object.(Наследуется от Object.)

System_CAPS_pubmethodSystem_CAPS_staticRegisterModule(Type)

Регистрация модуля приложения.

System_CAPS_pubmethodToString()

Возвращает строку, представляющую текущий объект.(Наследуется от Object.)

ИмяОписание
System_CAPS_pubeventAcquireRequestState

Происходит при достижении ASP.NET текущего состояния (например, состояния сеанса), связанного с текущим запросом.

System_CAPS_pubeventAuthenticateRequest

Происходит при установлении модулем безопасности удостоверение пользователя.

System_CAPS_pubeventAuthorizeRequest

Происходит при проверке модулем безопасности авторизации пользователя.

System_CAPS_pubeventBeginRequest

Происходит в качестве первого события в цепи выполнения конвейера HTTP при ответе на запрос ASP.NET.

System_CAPS_pubeventDisposed

Происходит при удалении приложения.

System_CAPS_pubeventEndRequest

Происходит в качестве последнего события в цепи выполнения конвейера HTTP при ответе на запрос ASP.NET.

System_CAPS_pubeventError

Происходит, когда необработанное исключение.

System_CAPS_pubeventLogRequest

Происходит непосредственно перед ASP.NET выполняет любой операции с журналом для текущего запроса.

System_CAPS_pubeventMapRequestHandler

Этот API поддерживает инфраструктуру продукт, и его не следует использовать напрямую из кода. Происходит при выборе обработчика для ответа на запрос.

System_CAPS_pubeventPostAcquireRequestState

Происходит, когда был получен состояние запроса (например, состояния сеанса), связанного с текущим запросом.

System_CAPS_pubeventPostAuthenticateRequest

Происходит при установлении модулем безопасности удостоверение пользователя.

System_CAPS_pubeventPostAuthorizeRequest

Происходит при авторизации пользователя для текущего запроса.

System_CAPS_pubeventPostLogRequest

Происходит по завершении обработки все обработчики событий для ASP.NET LogRequest события.

System_CAPS_pubeventPostMapRequestHandler

Происходит, когда сопоставления в приложении ASP.NET текущего запроса для соответствующего обработчика событий.

System_CAPS_pubeventPostReleaseRequestState

Происходит по завершении выполнения ASP.NET обработчики событий и сохранения данных состояния запроса для всех запросов.

System_CAPS_pubeventPostRequestHandlerExecute

Происходит по завершении выполнения обработчика событий приложения ASP.NET (например, страницы или веб-службы XML).

System_CAPS_pubeventPostResolveRequestCache

Происходит, когда ASP.NET обходится выполнение текущего обработчика событий и позволяет модуль кэширования на обслуживание запроса из кэша.

System_CAPS_pubeventPostUpdateRequestCache

Происходит при завершении в приложении ASP.NET обновления модулей кэширования и сохранения ответов, которые используются для обслуживания последующих запросов из кэша.

System_CAPS_pubeventPreRequestHandlerExecute

Происходит непосредственно перед ASP.NET запускает выполнение обработчика событий (например, страницы или веб-службы XML).

System_CAPS_pubeventPreSendRequestContent

Происходит непосредственно перед ASP.NET отправляет содержимое клиенту.

System_CAPS_pubeventPreSendRequestHeaders

Происходит в ASP.NET перед отправкой заголовков HTTP к клиенту.

System_CAPS_pubeventReleaseRequestState

Происходит в ASP.NET после завершения выполнения всех обработчиков событий запроса. Это событие предоставляет модули состояния для сохранения данных текущего состояния.

System_CAPS_pubeventRequestCompleted

Происходит после освобождения управляемых объектов, которые связаны с запросом.

System_CAPS_pubeventResolveRequestCache

Происходит ASP.NET при завершении события авторизации позволяет модулям кэширования обрабатывать запросы кэша, игнорируя выполнение обработчика событий (например, страницы или веб-службы XML).

System_CAPS_pubeventUpdateRequestCache

Происходит в ASP.NET при завершении выполнения обработчика событий с целью предоставления возможности модулям кэширования сохранять ответы, которые будут использоваться для обслуживания последующих запросов из кэша.

ИмяОписание
System_CAPS_pubinterfaceSystem_CAPS_privmethodIHttpAsyncHandler.BeginProcessRequest(HttpContext, AsyncCallback, Object)

Запускает асинхронный вызов обработчика событий НТТР.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHttpAsyncHandler.EndProcessRequest(IAsyncResult)

Предоставляет асинхронный процесс End метод после завершения процесса.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHttpHandler.ProcessRequest(HttpContext)

Включает обработку HTTP веб-запросов по пользовательского обработчика HTTP, который реализует IHttpHandler интерфейса.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHttpHandler.IsReusable

Возвращает Boolean значение, указывающее, может ли другой запрос использовать IHttpHandler объекта.

Instances of the T:System.Web.HttpApplication class are created in the ASP.NET infrastructure, not by the user directly. One instance of the T:System.Web.HttpApplication class is used to process many requests in its lifetime. However, it can process only one request at a time. Thus, member variables can be used to store per-request data.

An application raises events that can be handled by custom modules that implement the T:System.Web.IHttpModule interface or by event handler code that is defined in the Global.asax file. Custom modules that implement the T:System.Web.IHttpModule interface can be put in the App_Code folder or in a DLL in the Bin folder.

HttpApplication is introduced in the .NET Framework version 3.5. For more information, see Версии и зависимости платформы .NET Framework.

System_CAPS_noteПримечание

When running IIS 7.0 in Integrated mode, custom modules in the App_Code folder or Bin folder apply to all requests in the request pipeline. Event handler code in the Global.asax file only applies to requests that are mapped to an ASP.NET handler.

The application events are raised in the following order:

  1. BeginRequest

  2. AuthenticateRequest

  3. PostAuthenticateRequest

  4. AuthorizeRequest

  5. PostAuthorizeRequest

  6. ResolveRequestCache

  7. PostResolveRequestCache

    After the E:System.Web.HttpApplication.PostResolveRequestCache event and before the E:System.Web.HttpApplication.PostMapRequestHandler event, an event handler (which is a page that corresponds to the request URL) is created. When a server is running IIS 7.0 in Integrated mode and at least the .NET Framework version 3.0, the E:System.Web.HttpApplication.MapRequestHandler event is raised. When a server is running IIS 7.0 in Classic mode or an earlier version of IIS, this event cannot be handled.

  8. PostMapRequestHandler

  9. AcquireRequestState

  10. PostAcquireRequestState

  11. PreRequestHandlerExecute

    The event handler is executed.

  12. PostRequestHandlerExecute

  13. ReleaseRequestState

  14. PostReleaseRequestState

    After the E:System.Web.HttpApplication.PostReleaseRequestState event is raised, any existing response filters will filter the output.

  15. UpdateRequestCache

  16. PostUpdateRequestCache

  17. LogRequest.

    This event is supported in IIS 7.0 Integrated mode and at least the .NET Framework 3.0

  18. PostLogRequest

    This event is supported IIS 7.0 Integrated mode and at least the .NET Framework 3.0

  19. EndRequest

The following two examples demonstrate how to use the T:System.Web.HttpApplication class and its events. The first example demonstrates how to create a custom HTTP module and connect an event to it. The second example demonstrates how to modify the Web.config file.

The following example demonstrates how to create a custom HTTP module and connect the E:System.Web.HttpApplication.AcquireRequestState event to the HTTP module. HTTP modules intercept each request to Web application resources, thereby allowing you to filter client requests. Any HTTP module that subscribes to an T:System.Web.HttpApplication event must implement the T:System.Web.IHttpModule interface.

using System;
using System.Web;

namespace Samples.AspNet.CS
{
    public class CustomHTTPModule : IHttpModule
    {
        public CustomHTTPModule()
        {
            // Class constructor.
        }

        // Classes that inherit IHttpModule 
        // must implement the Init and Dispose methods.
        public void Init(HttpApplication app)
        {

            app.AcquireRequestState += new EventHandler(app_AcquireRequestState);
			app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);
		}

        public void Dispose()
        {
            // Add code to clean up the
            // instance variables of a module.
        }

        // Define a custom AcquireRequestState event handler.
        public void app_AcquireRequestState(object o, EventArgs ea)
        {
            HttpApplication httpApp = (HttpApplication)o;
            HttpContext ctx = HttpContext.Current;
            ctx.Response.Write(" Executing AcquireRequestState ");
        }

        // Define a custom PostAcquireRequestState event handler.
		public void app_PostAcquireRequestState(object o, EventArgs ea)
		{
			HttpApplication httpApp = (HttpApplication)o;
			HttpContext ctx = HttpContext.Current;
			ctx.Response.Write(" Executing PostAcquireRequestState ");
		}

	}
}

Before an event in a custom HTTP module can occur, you must modify the configuration settings in the Web.config file to notify ASP.NET about the HTTP module. The following example shows the appropriate configuration setting in the httpModules section of the Web.config file. The following setting applies to IIS 7.0 Classic mode and to earlier versions of IIS.

<configuration>
  <system.web>
    <httpModules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
        name="CustomHttpModule" />
      </httpModules>
  </system.web>
</configuration>

The following setting applies to IIS 7.0 Integrated mode.

<configuration>
  <system.webServer>
    <modules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
        name="CustomHttpModule" />
      </modules>
  </system.webServer>
</configuration>

.NET Framework
Доступно с 1.1

Любые открытые статические элементы ( Предоставлен общий доступ в Visual Basic) этого типа являются потокобезопасными. Потокобезопасность элементов экземпляров не гарантируется.

Вернуться в начало
Показ: