RequestNotification Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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.