RequestNotification Enum

Definition

Anger när händelser och andra livscykelhändelser inträffar när en HttpApplication begäran bearbetas.

Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.

public enum class RequestNotification
[System.Flags]
public enum RequestNotification
[<System.Flags>]
type RequestNotification = 
Public Enum RequestNotification
Arv
RequestNotification
Attribut

Fält

Name Värde Description
BeginRequest 1

Anger att händelsen BeginRequest skapades för begäran och bearbetas.

AuthenticateRequest 2

Anger att händelsen AuthenticateRequest skapades för begäran och bearbetas.

AuthorizeRequest 4

Anger att händelsen AuthorizeRequest skapades för begäran och bearbetas.

ResolveRequestCache 8

Anger att händelsen ResolveRequestCache skapades för begäran och bearbetas.

MapRequestHandler 16

Anger att händelsen MapRequestHandler skapades för begäran och bearbetas.

AcquireRequestState 32

Anger att händelsen AcquireRequestState skapades för begäran och bearbetas.

PreExecuteRequestHandler 64

Anger en punkt i programmets livscykel precis innan hanteraren som bearbetar begäran mappas.

ExecuteRequestHandler 128

Anger att den hanterare som mappas till den begärda resursen anropas för att bearbeta begäran.

ReleaseRequestState 256

Anger att händelsen ReleaseRequestState skapades för begäran och bearbetas.

UpdateRequestCache 512

Anger att händelsen UpdateRequestCache skapades för begäran och bearbetas.

LogRequest 1024

Anger att händelsen LogRequest skapades för begäran och bearbetas.

EndRequest 2048

Anger att händelsen EndRequest skapades för begäran och bearbetas.

SendResponse 536870912

Anger att bearbetningen av begäran är klar och att svaret skickas.

Exempel

I följande exempel visas hur du använder RequestNotification uppräkningen med CurrentNotification egenskapen för att avgöra vilken händelse av den aktuella HttpApplication instansen som bearbetar begäran.

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

Kommentarer

Uppräkningen RequestNotification används med CurrentNotification egenskapen HttpContext för klassen för att avgöra vilken händelse i pipelinen som bearbetas för närvarande. Använd egenskapen för att avgöra när alla hanterare för en specifik händelse av instansen HttpApplication har slutfört bearbetningen IsPostNotification .

Typen RequestNotification introduceras i .NET Framework 3.5. Mer information finns i Versioner och beroenden.

Gäller för

Se även