Поделиться через


HttpResponseBase.AddOnSendingHeaders(Action<HttpContextBase>) Метод

Определение

Регистрирует обратный вызов, который среда выполнения ASP.NET будет вызывать непосредственно перед отправкой заголовков ответа для этого запроса.

public:
 virtual System::Web::ISubscriptionToken ^ AddOnSendingHeaders(Action<System::Web::HttpContextBase ^> ^ callback);
public virtual System.Web.ISubscriptionToken AddOnSendingHeaders (Action<System.Web.HttpContextBase> callback);
abstract member AddOnSendingHeaders : Action<System.Web.HttpContextBase> -> System.Web.ISubscriptionToken
override this.AddOnSendingHeaders : Action<System.Web.HttpContextBase> -> System.Web.ISubscriptionToken
Public Overridable Function AddOnSendingHeaders (callback As Action(Of HttpContextBase)) As ISubscriptionToken

Параметры

callback
Action<HttpContextBase>

Метод обратного вызова.

Возвращаемое значение

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

Комментарии

Псевдо-событие OnSendingHeaders отличается от события конвейера уровня IHttpModule тем, что оно является подпиской на запрос, а не подпиской для каждого приложения. Цель состоит в том, что обратный вызов может изменить код состояния ответа или задать файл cookie или заголовок ответа. Другие примечания и предупреждения об использовании:

  • Этот метод эффективен только в том случае, если службы IIS выполняются в конвейере в режиме интегрированного конвейера и только в том случае, если заголовки ответа еще не были отправлены для текущего запроса.

  • Среда выполнения ASP.NET не гарантирует ничего в потоке, в который вызывается обратный вызов. Например, обратный вызов может вызываться синхронно в фоновом потоке, если выполняется фоновая очистка. Current не гарантируется доступность в таком потоке.

  • Обратный вызов не должен вызывать методы, которые управляют телом сущности ответа или приводят к сбросу. Например, обратный вызов не должен вызывать Redirect, так как этот метод может управлять телом сущности ответа.

  • Обратный вызов должен содержать только кратковременный синхронный код. Попытка вызова асинхронной операции или ожидания такой операции может привести к взаимоблокировке.

  • Обратный вызов не должен вызывать исключение; В противном случае поведение не определено.

Применяется к