[Supported in the .NET Framework 4.5.2 and later versions]
Registers a callback that the ASP.NET runtime will invoke immediately before response headers are sent for this request.
Assembly: System.Web (in System.Web.dll)
public virtual ISubscriptionToken AddOnSendingHeaders( Action<HttpContextBase> callback )
The pseudo event OnSendingHeaders differs from the IHttpModule-level pipeline event in that it is a per-request subscription rather than a per-application subscription. The intent is that the callback may modify the response status code or may set a response cookie or header. Other usage notes and caveats:
This method is effective only when IIS runs in integrated pipeline mode pipeline and only if response headers haven't yet been sent for the current request.
The ASP.NET runtime does not guarantee anything about the thread that the callback is invoked on. For example, the callback may be invoked synchronously in a background thread if a background flush is being performed. Current is not guaranteed to be available in such a thread.
The callback must not call any method that manipulates the response entity body or that results in a flush. For example, the callback must not call Redirect, as that method may manipulate the response entity body.
The callback must contain only short-running synchronous code. Attempting to invoke an asynchronous operation or wait on such an operation could result in a deadlock.
The callback must not throw an exception; otherwise behavior is undefined.