HttpApplication Klass
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.
Definierar de metoder, egenskaper och händelser som är gemensamma för alla programobjekt i ett ASP.NET program. Den här klassen är basklassen för program som definieras av användaren i filen Global.asax.
public ref class HttpApplication : IDisposable, System::ComponentModel::IComponent, System::Web::IHttpAsyncHandler
public class HttpApplication : IDisposable, System.ComponentModel.IComponent, System.Web.IHttpAsyncHandler
type HttpApplication = class
interface IHttpAsyncHandler
interface IHttpHandler
interface IComponent
interface IDisposable
type HttpApplication = class
interface IComponent
interface IDisposable
interface IHttpAsyncHandler
interface IHttpHandler
Public Class HttpApplication
Implements IComponent, IDisposable, IHttpAsyncHandler
- Arv
-
HttpApplication
- Implementeringar
Exempel
Följande två exempel visar hur du HttpApplication använder klassen och dess händelser. Det första exemplet visar hur du skapar en anpassad HTTP-modul och ansluter en händelse till den. Det andra exemplet visar hur du ändrar Web.config-filen.
I följande exempel visas hur du skapar en anpassad HTTP-modul och ansluter AcquireRequestState händelsen till HTTP-modulen. HTTP-moduler fångar upp varje begäran till webbprogramresurser, vilket gör att du kan filtrera klientbegäranden. Alla HTTP-moduler som prenumererar på en HttpApplication händelse måste implementera IHttpModule gränssnittet.
using System;
using System.Web;
namespace Samples.AspNet.CS
{
public class CustomHTTPModule : IHttpModule
{
public CustomHTTPModule()
{
// Class constructor.
}
// Classes that inherit IHttpModule
// must implement the Init and Dispose methods.
public void Init(HttpApplication app)
{
app.AcquireRequestState += new EventHandler(app_AcquireRequestState);
app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);
}
public void Dispose()
{
// Add code to clean up the
// instance variables of a module.
}
// Define a custom AcquireRequestState event handler.
public void app_AcquireRequestState(object o, EventArgs ea)
{
HttpApplication httpApp = (HttpApplication)o;
HttpContext ctx = HttpContext.Current;
ctx.Response.Write(" Executing AcquireRequestState ");
}
// Define a custom PostAcquireRequestState event handler.
public void app_PostAcquireRequestState(object o, EventArgs ea)
{
HttpApplication httpApp = (HttpApplication)o;
HttpContext ctx = HttpContext.Current;
ctx.Response.Write(" Executing PostAcquireRequestState ");
}
}
}
Imports System.Web
Namespace Samples.AspNet.VB
Public Class CustomHTTPModule
Implements IHttpModule
Public Sub New()
' Class constructor.
End Sub
' Classes that inherit IHttpModule
' must implement the Init and Dispose methods.
Public Sub Init(ByVal app As HttpApplication) Implements IHttpModule.Init
AddHandler app.AcquireRequestState, AddressOf app_AcquireRequestState
AddHandler app.PostAcquireRequestState, AddressOf app_PostAcquireRequestState
End Sub
Public Sub Dispose() Implements IHttpModule.Dispose
' Add code to clean up the
' instance variables of a module.
End Sub
' Define a custom AcquireRequestState event handler.
Public Sub app_AcquireRequestState(ByVal o As Object, ByVal ea As EventArgs)
Dim httpApp As HttpApplication = CType(o, HttpApplication)
Dim ctx As HttpContext = HttpContext.Current
ctx.Response.Write(" Executing AcquireRequestState ")
End Sub
' Define a custom PostAcquireRequestState event handler.
Public Sub app_PostAcquireRequestState(ByVal o As Object, ByVal ea As EventArgs)
Dim httpApp As HttpApplication = CType(o, HttpApplication)
Dim ctx As HttpContext = HttpContext.Current
ctx.Response.Write(" Executing PostAcquireRequestState ")
End Sub
End Class
End Namespace
Innan en händelse i en anpassad HTTP-modul kan inträffa måste du ändra konfigurationsinställningarna i den Web.config filen för att meddela ASP.NET om HTTP-modulen. I följande exempel visas lämplig konfigurationsinställning i httpModules avsnittet i filen Web.config. Följande inställning gäller för klassiskt IIS 7.0-läge och tidigare versioner av IIS.
<configuration>
<system.web>
<httpModules>
<add type="Samples.AspNet.CS.CustomHTTPModule"
name="CustomHttpModule" />
</httpModules>
</system.web>
</configuration>
<configuration>
<system.web>
<httpModules>
<add type="Samples.AspNet.VB.CustomHTTPModule"
name="CustomHttpModule" />
</httpModules>
</system.web>
</configuration>
Följande inställning gäller för integrerat IIS 7.0-läge.
<configuration>
<system.webServer>
<modules>
<add type="Samples.AspNet.CS.CustomHTTPModule"
name="CustomHttpModule" />
</modules>
</system.webServer>
</configuration>
<configuration>
<system.webServer>
<modules>
<add type="Samples.AspNet.VB.CustomHTTPModule"
name="CustomHttpModule" />
<modules>
</system.webServer>
</configuration>
Kommentarer
Instanser av klassen HttpApplication skapas i ASP.NET infrastruktur, inte av användaren direkt. En instans av HttpApplication klassen används för att bearbeta många begäranden under dess livslängd. Den kan dock bara bearbeta en begäran i taget. Medlemsvariabler kan därför användas för att lagra data per begäran.
Ett program genererar händelser som kan hanteras av anpassade moduler som implementerar IHttpModule gränssnittet eller av händelsehanterarkoden som definieras i filen Global.asax. Anpassade moduler som implementerar IHttpModule gränssnittet kan placeras i mappen App_Code eller i en DLL i mappen Bin.
HttpApplication introduceras i .NET Framework version 3.5. Mer information finns i Versioner och beroenden.
Note
När du kör IIS 7.0 i integrerat läge gäller anpassade moduler i mappen App_Code eller mappen Bin för alla begäranden i begärandepipelinen. Händelsehanterarkod i filen Global.asax gäller endast för begäranden som mappas till en ASP.NET-hanterare.
Programhändelserna genereras i följande ordning:
-
Efter händelsen PostResolveRequestCache och före PostMapRequestHandler händelsen skapas en händelsehanterare (som är en sida som motsvarar url:en för begäran). När en server kör IIS 7.0 i integrerat läge och minst .NET Framework version 3.0 utlöses händelsen MapRequestHandler. När en server kör IIS 7.0 i klassiskt läge eller en tidigare version av IIS kan den här händelsen inte hanteras.
-
Händelsehanteraren körs.
-
När händelsen PostReleaseRequestState har aktiverats filtrerar alla befintliga svarsfilter utdata.
-
Den här händelsen stöds i IIS 7.0-integrerat läge och minst .NET Framework 3.0
-
Den här händelsen stöds IIS 7.0 Integrerat läge och minst .NET Framework 3.0
Konstruktorer
| Name | Description |
|---|---|
| HttpApplication() |
Initierar en ny instans av HttpApplication klassen. |
Egenskaper
| Name | Description |
|---|---|
| Application |
Hämtar aktuellt tillstånd för ett program. |
| Context |
Hämtar HTTP-specifik information om den aktuella begäran. |
| Events |
Hämtar listan över händelsehanterardelegater som bearbetar alla programhändelser. |
| Modules |
Hämtar samlingen av moduler för det aktuella programmet. |
| Request |
Hämtar det inbyggda begärandeobjektet för den aktuella begäran. |
| Response |
Hämtar det inbyggda svarsobjektet för den aktuella begäran. |
| Server |
Hämtar det inbyggda serverobjektet för den aktuella begäran. |
| Session |
Hämtar det inbyggda sessionsobjektet som ger åtkomst till sessionsdata. |
| Site |
Hämtar eller anger ett platsgränssnitt för en IComponent implementering. |
| User |
Hämtar det inbyggda användarobjektet för den aktuella begäran. |
Metoder
| Name | Description |
|---|---|
| AddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna AcquireRequestState händelsen i samlingen med asynkrona AcquireRequestState händelsehanterare för den aktuella begäran. |
| AddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna AcquireRequestState händelsen i samlingen med asynkrona AcquireRequestState händelsehanterare för den aktuella begäran. |
| AddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna AuthenticateRequest händelsen i samlingen med asynkrona AuthenticateRequest händelsehanterare för den aktuella begäran. |
| AddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna AuthenticateRequest händelsen i samlingen med asynkrona AuthenticateRequest händelsehanterare för den aktuella begäran. |
| AddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna AuthorizeRequest händelsen i samlingen med asynkrona AuthorizeRequest händelsehanterare för den aktuella begäran. |
| AddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna AuthorizeRequest händelsen i samlingen med asynkrona AuthorizeRequest händelsehanterare för den aktuella begäran. |
| AddOnBeginRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna BeginRequest händelsen i samlingen med asynkrona BeginRequest händelsehanterare för den aktuella begäran. |
| AddOnBeginRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna BeginRequest händelsen i samlingen med asynkrona BeginRequest händelsehanterare för den aktuella begäran. |
| AddOnEndRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna EndRequest händelsen i samlingen med asynkrona EndRequest händelsehanterare för den aktuella begäran. |
| AddOnEndRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna EndRequest händelsen i samlingen med asynkrona EndRequest händelsehanterare för den aktuella begäran. |
| AddOnLogRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna LogRequest händelsen i samlingen med asynkrona LogRequest händelsehanterare för den aktuella begäran. |
| AddOnLogRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna LogRequest händelsen i samlingen med asynkrona LogRequest händelsehanterare för den aktuella begäran. |
| AddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna MapRequestHandler händelsen i samlingen med asynkrona MapRequestHandler händelsehanterare för den aktuella begäran. |
| AddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna MapRequestHandler händelsen i samlingen med asynkrona MapRequestHandler händelsehanterare för den aktuella begäran. |
| AddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostAcquireRequestState händelsen i samlingen med asynkrona PostAcquireRequestState händelsehanterare för den aktuella begäran. |
| AddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostAcquireRequestState händelsen i samlingen med asynkrona PostAcquireRequestState händelsehanterare för den aktuella begäran. |
| AddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostAuthorizeRequest händelsen i samlingen med asynkrona PostAuthorizeRequest händelsehanterare för den aktuella begäran. |
| AddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostAuthenticateRequest händelsen i samlingen med asynkrona PostAuthenticateRequest händelsehanterare för den aktuella begäran. |
| AddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostAuthorizeRequest i samlingen med asynkrona PostAuthorizeRequest händelsehanterare för den aktuella begäran. |
| AddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostAuthorizeRequest händelsen i samlingen med asynkrona PostAuthorizeRequest händelsehanterare för den aktuella begäran. |
| AddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostLogRequest händelsen i samlingen med asynkrona PostLogRequest händelsehanterare för den aktuella begäran. |
| AddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostLogRequest händelsen i samlingen med asynkrona PostLogRequest händelsehanterare för den aktuella begäran. |
| AddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostMapRequestHandler händelsen i samlingen med asynkrona PostMapRequestHandler händelsehanterare för den aktuella begäran. |
| AddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostMapRequestHandler händelsen i samlingen med asynkrona PostMapRequestHandler händelsehanterare för den aktuella begäran. |
| AddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostReleaseRequestState händelsen i samlingen med asynkrona PostReleaseRequestState händelsehanterare för den aktuella begäran. |
| AddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostReleaseRequestState händelsen i samlingen med asynkrona PostReleaseRequestState händelsehanterare för den aktuella begäran. |
| AddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostRequestHandlerExecute händelsen i samlingen med asynkrona PostRequestHandlerExecute händelsehanterare för den aktuella begäran. |
| AddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostRequestHandlerExecute händelsen i samlingen med asynkrona PostRequestHandlerExecute händelsehanterare för den aktuella begäran. |
| AddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostResolveRequestCache händelsen i samlingen med asynkrona PostResolveRequestCache händelsehanterare för den aktuella begäran. |
| AddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostResolveRequestCache händelsen i samlingen med asynkrona PostResolveRequestCache händelsehanterare för den aktuella begäran. |
| AddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PostUpdateRequestCache händelsen i samlingen med asynkrona PostUpdateRequestCache händelsehanterare för den aktuella begäran. |
| AddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PostUpdateRequestCache händelsen i samlingen med asynkrona PostUpdateRequestCache händelsehanterare för den aktuella begäran. |
| AddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna PreRequestHandlerExecute händelsen i samlingen med asynkrona PreRequestHandlerExecute händelsehanterare för den aktuella begäran. |
| AddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna PreRequestHandlerExecute händelsen i samlingen med asynkrona PreRequestHandlerExecute händelsehanterare för den aktuella begäran. |
| AddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna ReleaseRequestState händelsen i samlingen med asynkrona ReleaseRequestState händelsehanterare för den aktuella begäran. |
| AddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna ReleaseRequestState händelsen i samlingen med asynkrona ReleaseRequestState händelsehanterare för den aktuella begäran. |
| AddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna ResolveRequestCache händelsehanteraren i samlingen med asynkrona ResolveRequestCache händelsehanterare för den aktuella begäran. |
| AddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna ResolveRequestCache händelsehanteraren i samlingen med asynkrona ResolveRequestCache händelsehanterare för den aktuella begäran. |
| AddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Lägger till den angivna UpdateRequestCache händelsen i samlingen med asynkrona UpdateRequestCache händelsehanterare för den aktuella begäran. |
| AddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Lägger till den angivna UpdateRequestCache händelsen i samlingen med asynkrona UpdateRequestCache händelsehanterare för den aktuella begäran. |
| CompleteRequest() |
Orsakar ASP.NET att kringgå alla händelser och filtrering i HTTP-pipelinekedjan för körning och köra händelsen EndRequest direkt. |
| Dispose() |
Bortser från instansen HttpApplication . |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetOutputCacheProviderName(HttpContext) |
Hämtar namnet på standardprovidern för utdatacache som har konfigurerats för en webbplats. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetVaryByCustomString(HttpContext, String) |
Tillhandahåller en programomfattande implementering av VaryByCustom egenskapen. |
| Init() |
Kör anpassad initieringskod när alla händelsehanterarmoduler har lagts till. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnExecuteRequestStep(Action<HttpContextBase,Action>) |
Anger ett återanrop som ska anropas när ett körningssteg för begäran körs. |
| RegisterModule(Type) |
Registrerar en programmodul. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Händelser
| Name | Description |
|---|---|
| AcquireRequestState |
Inträffar när ASP.NET hämtar det aktuella tillståndet (till exempel sessionstillstånd) som är associerat med den aktuella begäran. |
| AuthenticateRequest |
Inträffar när en säkerhetsmodul har upprättat användarens identitet. |
| AuthorizeRequest |
Inträffar när en säkerhetsmodul har verifierat användarauktorisering. |
| BeginRequest |
Inträffar som den första händelsen i HTTP-pipelinekedjan för körning när ASP.NET svarar på en begäran. |
| Disposed |
Inträffar när programmet tas bort. |
| EndRequest |
Inträffar som den sista händelsen i HTTP-pipelinekedjan för körning när ASP.NET svarar på en begäran. |
| Error |
Inträffar när ett ohanterat undantag utlöses. |
| LogRequest |
Inträffar strax innan ASP.NET utför någon loggning för den aktuella begäran. |
| MapRequestHandler |
Inträffar när hanteraren har valts för att svara på begäran. |
| PostAcquireRequestState |
Inträffar när begärandetillståndet (till exempel sessionstillstånd) som är associerat med den aktuella begäran har hämtats. |
| PostAuthenticateRequest |
Inträffar när en säkerhetsmodul har upprättat användarens identitet. |
| PostAuthorizeRequest |
Inträffar när användaren för den aktuella begäran har auktoriserats. |
| PostLogRequest |
Inträffar när ASP.NET har slutfört bearbetningen av alla händelsehanterare för händelsen LogRequest. |
| PostMapRequestHandler |
Inträffar när ASP.NET har mappat den aktuella begäran till lämplig händelsehanterare. |
| PostReleaseRequestState |
Inträffar när ASP.NET har slutfört körningen av alla händelsehanterare för begäran och begärandetillståndsdata har lagrats. |
| PostRequestHandlerExecute |
Inträffar när ASP.NET händelsehanteraren (till exempel en sida eller en XML-webbtjänst) slutför körningen. |
| PostResolveRequestCache |
Inträffar när ASP.NET kringgår körningen av den aktuella händelsehanteraren och tillåter att en cachelagringsmodul hanterar en begäran från cacheminnet. |
| PostUpdateRequestCache |
Inträffar när ASP.NET har uppdaterat cachelagringsmoduler och lagrat svar som används för att hantera efterföljande begäranden från cachen. |
| PreRequestHandlerExecute |
Inträffar precis innan ASP.NET börjar köra en händelsehanterare (till exempel en sida eller en XML-webbtjänst). |
| PreSendRequestContent |
Inträffar strax innan ASP.NET skickar innehåll till klienten. |
| PreSendRequestHeaders |
Inträffar strax innan ASP.NET skickar HTTP-huvuden till klienten. |
| ReleaseRequestState |
Inträffar när ASP.NET har kört alla händelsehanterare för begäran. Den här händelsen gör att tillståndsmoduler sparar aktuella tillståndsdata. |
| RequestCompleted |
Inträffar när de hanterade objekt som är associerade med begäran har släppts. |
| ResolveRequestCache |
Inträffar när ASP.NET slutför en auktoriseringshändelse så att cachelagringsmodulerna kan hantera begäranden från cachen och kringgå körningen av händelsehanteraren (till exempel en sida eller en XML-webbtjänst). |
| UpdateRequestCache |
Inträffar när ASP.NET slutför körningen av en händelsehanterare för att låta cachelagringsmoduler lagra svar som ska användas för att hantera efterföljande begäranden från cacheminnet. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IHttpAsyncHandler.BeginProcessRequest(HttpContext, AsyncCallback, Object) |
Initierar ett asynkront anrop till HTTP-händelsehanteraren. |
| IHttpAsyncHandler.EndProcessRequest(IAsyncResult) |
Tillhandahåller en asynkron processmetod |
| IHttpHandler.IsReusable |
Hämtar ett |
| IHttpHandler.ProcessRequest(HttpContext) |
Möjliggör bearbetning av HTTP-webbbegäranden av en anpassad HTTP-hanterare som implementerar IHttpHandler gränssnittet. |