Compartilhar via


RequestNotification Enumeração

Definição

Indica quando ocorrem eventos e outros eventos de ciclo de vida enquanto uma solicitação HttpApplication está sendo processada.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

public enum class RequestNotification
[System.Flags]
public enum RequestNotification
[<System.Flags>]
type RequestNotification = 
Public Enum RequestNotification
Herança
RequestNotification
Atributos

Campos

AcquireRequestState 32

Indica que o evento AcquireRequestState foi gerado para a solicitação e está processando.

AuthenticateRequest 2

Indica que o evento AuthenticateRequest foi gerado para a solicitação e está processando.

AuthorizeRequest 4

Indica que o evento AuthorizeRequest foi gerado para a solicitação e está processando.

BeginRequest 1

Indica que o evento BeginRequest foi gerado para a solicitação e está processando.

EndRequest 2048

Indica que o evento EndRequest foi gerado para a solicitação e está processando.

ExecuteRequestHandler 128

Indica que o manipulador que é mapeado para o recurso solicitado está sendo invocado para processar a solicitação.

LogRequest 1024

Indica que o evento LogRequest foi gerado para a solicitação e está processando.

MapRequestHandler 16

Indica que o evento MapRequestHandler foi gerado para a solicitação e está processando.

PreExecuteRequestHandler 64

Indica um ponto no ciclo de vida do aplicativo imediatamente antes do manipulador que processa a solicitação ser mapeado.

ReleaseRequestState 256

Indica que o evento ReleaseRequestState foi gerado para a solicitação e está processando.

ResolveRequestCache 8

Indica que o evento ResolveRequestCache foi gerado para a solicitação e está processando.

SendResponse 536870912

Indica que o processamento da solicitação foi concluído e que a resposta está sendo enviada.

UpdateRequestCache 512

Indica que o evento UpdateRequestCache foi gerado para a solicitação e está processando.

Exemplos

O exemplo a seguir mostra como usar a RequestNotification enumeração com a CurrentNotification propriedade para determinar qual evento da instância atual HttpApplication está processando a solicitação.

using System;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;

// Module that demonstrates one event handler for several events.
namespace Samples
{
    public class ModuleExampleTestCS : IHttpModule
    {
        public ModuleExampleTestCS()
        {
            // Constructor
        }
        public void Init(HttpApplication app)
        {
            app.AuthenticateRequest += new EventHandler(App_Handler);
            app.PostAuthenticateRequest += new EventHandler(App_Handler);
            app.LogRequest += new EventHandler(App_Handler);
            app.PostLogRequest += new EventHandler(App_Handler);
        }
        public void Dispose()
        {
        }
        // One handler for AuthenticationRequest, PostAuthenticateRequest,
    // LogRequest, and PostLogRequest events
        public void App_Handler(object source, EventArgs e)
        {
            HttpApplication app = (HttpApplication)source;
            HttpContext context = app.Context;

            if (context.CurrentNotification == RequestNotification.AuthenticateRequest)
            {

                if (!context.IsPostNotification)
                {
                    // Put code here that is invoked when the AuthenticateRequest event is raised.
                }
                else
                {
                    // PostAuthenticateRequest 
                    // Put code here that runs after the AuthenticateRequest event completes.
                }
            }
            if (context.CurrentNotification == RequestNotification.LogRequest)
            {
                if (!context.IsPostNotification)
                {
                    // Put code here that is invoked when the LogRequest event is raised.
                }
                else
                {
                    // PostLogRequest
                    // Put code here that runs after the LogRequest event completes.
                }
            }
        }
    }
}
Imports System.Data
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI

' Module that demonstrates one event handler for several events.
Namespace Samples

    Public Class ModuleExampleTestVB
        Implements IHttpModule

        Public Sub New()
            ' Constructor
        End Sub

        Public Sub Init(ByVal app As HttpApplication) Implements IHttpModule.Init
            AddHandler app.AuthenticateRequest, AddressOf Me.App_Handler
            AddHandler app.PostAuthenticateRequest, AddressOf Me.App_Handler
            AddHandler app.LogRequest, AddressOf Me.App_Handler
            AddHandler app.PostLogRequest, AddressOf Me.App_Handler
        End Sub

        Public Sub Dispose() Implements IHttpModule.Dispose
        End Sub

        ' One handler for AuthenticationRequest, PostAuthenticateRequest,
    ' LogRequest, and PostLogRequest events
        Public Sub App_Handler(ByVal source As Object, ByVal e As EventArgs)
            Dim app As HttpApplication = CType(source, HttpApplication)
            Dim context As HttpContext = app.Context

            If (context.CurrentNotification = RequestNotification.AuthenticateRequest) Then

                If Not (context.IsPostNotification) Then

                    ' Put code here that is invoked when the AuthenticateRequest event is raised.
                Else

                    ' PostAuthenticateRequest 
                    ' Put code here that runs after the AuthenticateRequest event completes.

                End If
            End If

            If (context.CurrentNotification = RequestNotification.LogRequest) Then

                If Not (context.IsPostNotification) Then

                    ' Put code here that is invoked when the LogRequest event is raised.

                Else
                    ' PostLogRequest
                    ' Put code here that runs after the LogRequest event completes.

                End If
            End If
        End Sub
    End Class

End Namespace

Comentários

A RequestNotification enumeração é usada com a CurrentNotification propriedade da HttpContext classe para determinar qual evento no pipeline está sendo processado no momento. Para determinar quando todos os manipuladores de um evento específico da instância terminaram o HttpApplication processamento, use a IsPostNotification propriedade .

O RequestNotification tipo é introduzido no .NET Framework 3.5. Para saber mais, confira Versões e dependências.

Aplica-se a

Confira também