RequestNotification Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan kapan peristiwa dan peristiwa siklus hidup lainnya terjadi saat HttpApplication permintaan sedang diproses.
Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.
public enum class RequestNotification
[System.Flags]
public enum RequestNotification
[<System.Flags>]
type RequestNotification =
Public Enum RequestNotification
- Warisan
- Atribut
Bidang
AcquireRequestState | 32 | Menunjukkan bahwa AcquireRequestState peristiwa dinaikkan untuk permintaan dan sedang diproses. |
AuthenticateRequest | 2 | Menunjukkan bahwa AuthenticateRequest peristiwa dinaikkan untuk permintaan dan sedang diproses. |
AuthorizeRequest | 4 | Menunjukkan bahwa AuthorizeRequest peristiwa dinaikkan untuk permintaan dan sedang diproses. |
BeginRequest | 1 | Menunjukkan bahwa BeginRequest peristiwa dinaikkan untuk permintaan dan sedang diproses. |
EndRequest | 2048 | Menunjukkan bahwa EndRequest peristiwa dinaikkan untuk permintaan dan sedang diproses. |
ExecuteRequestHandler | 128 | Menunjukkan bahwa handler yang dipetakan ke sumber daya yang diminta sedang dipanggil untuk memproses permintaan. |
LogRequest | 1024 | Menunjukkan bahwa LogRequest peristiwa dinaikkan untuk permintaan dan sedang diproses. |
MapRequestHandler | 16 | Menunjukkan bahwa MapRequestHandler peristiwa dinaikkan untuk permintaan dan sedang diproses. |
PreExecuteRequestHandler | 64 | Menunjukkan titik dalam siklus hidup aplikasi tepat sebelum handler yang memproses permintaan dipetakan. |
ReleaseRequestState | 256 | Menunjukkan bahwa ReleaseRequestState peristiwa dinaikkan untuk permintaan dan sedang diproses. |
ResolveRequestCache | 8 | Menunjukkan bahwa ResolveRequestCache peristiwa dinaikkan untuk permintaan dan sedang diproses. |
SendResponse | 536870912 | Menunjukkan bahwa pemrosesan permintaan selesai dan respons sedang dikirim. |
UpdateRequestCache | 512 | Menunjukkan bahwa UpdateRequestCache peristiwa dinaikkan untuk permintaan dan sedang diproses. |
Contoh
Contoh berikut menunjukkan cara menggunakan RequestNotification enumerasi dengan CurrentNotification properti untuk menentukan peristiwa mana dari instans saat ini HttpApplication yang memproses permintaan.
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
Keterangan
Enumerasi RequestNotification digunakan dengan CurrentNotification properti HttpContext kelas untuk menentukan peristiwa apa dalam alur yang saat ini sedang diproses. Untuk menentukan kapan semua handler untuk peristiwa tertentu dari HttpApplication instans telah selesai diproses, gunakan IsPostNotification properti .
Jenis RequestNotification ini diperkenalkan dalam .NET Framework 3.5. Untuk informasi selengkapnya, lihat Versi dan Dependensi.