RequestNotification RequestNotification RequestNotification RequestNotification Enum

定義

表示正在處理 HttpApplication 要求時,事件和其他生命週期事件發生的時機。Indicates when events and other life-cycle events occur while a HttpApplication request is being processed.

此列舉具有 FlagsAttribute 個屬性允許以位元方式合併其成員值。

public enum class RequestNotification
[System.Flags]
public enum RequestNotification
type RequestNotification = 
Public Enum RequestNotification
繼承
RequestNotificationRequestNotificationRequestNotificationRequestNotification
屬性

欄位

AcquireRequestState AcquireRequestState AcquireRequestState AcquireRequestState 32

表示 AcquireRequestState 事件已針對要求引發且正在處理中。Indicates that the AcquireRequestState event was raised for the request and is processing.

AuthenticateRequest AuthenticateRequest AuthenticateRequest AuthenticateRequest 2

表示 AuthenticateRequest 事件已針對要求引發且正在處理中。Indicates that the AuthenticateRequest event was raised for the request and is processing.

AuthorizeRequest AuthorizeRequest AuthorizeRequest AuthorizeRequest 4

表示 AuthorizeRequest 事件已針對要求引發且正在處理中。Indicates that the AuthorizeRequest event was raised for the request and is processing.

BeginRequest BeginRequest BeginRequest BeginRequest 1

表示 BeginRequest 事件已針對要求引發且正在處理中。Indicates that the BeginRequest event was raised for the request and is processing.

EndRequest EndRequest EndRequest EndRequest 2048

表示 EndRequest 事件已針對要求引發且正在處理中。Indicates that the EndRequest event was raised for the request and is processing.

ExecuteRequestHandler ExecuteRequestHandler ExecuteRequestHandler ExecuteRequestHandler 128

表示正在叫用對應至所要求資源的處理常式,以處理要求。Indicates that the handler that is mapped to the requested resource is being invoked to process the request.

LogRequest LogRequest LogRequest LogRequest 1024

表示 LogRequest 事件已針對要求引發且正在處理中。Indicates that the LogRequest event was raised for the request and is processing.

MapRequestHandler MapRequestHandler MapRequestHandler MapRequestHandler 16

表示 MapRequestHandler 事件已針對要求引發且正在處理中。Indicates that the MapRequestHandler event was raised for the request and is processing.

PreExecuteRequestHandler PreExecuteRequestHandler PreExecuteRequestHandler PreExecuteRequestHandler 64

表示應用程式生命週期中,在已對應會處理要求的處理常式之前的點。Indicates a point in the application life cycle just before the handler that processes the request is mapped.

ReleaseRequestState ReleaseRequestState ReleaseRequestState ReleaseRequestState 256

表示 ReleaseRequestState 事件已針對要求引發且正在處理中。Indicates that the ReleaseRequestState event was raised for the request and is processing.

ResolveRequestCache ResolveRequestCache ResolveRequestCache ResolveRequestCache 8

表示 ResolveRequestCache 事件已針對要求引發且正在處理中。Indicates that the ResolveRequestCache event was raised for the request and is processing.

SendResponse SendResponse SendResponse SendResponse 536870912

表示已完成要求處理,且正在傳送回應。Indicates that processing of the request is complete and that the response is being sent.

UpdateRequestCache UpdateRequestCache UpdateRequestCache UpdateRequestCache 512

表示 UpdateRequestCache 事件已針對要求引發且正在處理中。Indicates that the UpdateRequestCache event was raised for the request and is processing.

範例

下列範例示範如何使用RequestNotification列舉CurrentNotification搭配屬性來判斷目前HttpApplication實例的哪一個事件正在處理要求。The following example shows how to use the RequestNotification enumeration with the CurrentNotification property to determine which event of the current HttpApplication instance is processing the request.

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

備註

列舉會與HttpContext類別的CurrentNotification屬性搭配使用, 以判斷管線中目前正在處理哪一個事件。 RequestNotificationThe RequestNotification enumeration is used with the CurrentNotification property of the HttpContext class to determine what event in the pipeline is currently processing. 若要判斷HttpApplication實例之特定事件的所有處理常式都已完成處理, 請IsPostNotification使用屬性。To determine when all the handlers for a specific event of the HttpApplication instance have finished processing, use the IsPostNotification property.

類型是在中引進 .NET Framework 3.5.NET Framework 3.5 RequestNotificationThe RequestNotification type is introduced in the .NET Framework 3.5.NET Framework 3.5. 如需詳細資訊,請參閱版本和相依性For more information, see Versions and Dependencies.

適用於

另請參閱