What is the difference between HttpApplication class and IHttpModule?
作者:互联网
What is the difference between HttpApplication class and IHttpModule?
HttpApplication
is the web application instance that has multiple IHttpModule
instances registered in it. That's why every IHttpModule
instance handles a certain part of application execution thus can usually be reused on many applications (think of a Session
handling module or authentication module).
In terms of application/request handling there are many similarities. HttpApplication
has access to application-level events like OnStart, OnEnd etc as well as request-level events like OnBeginRequest, OnEndRequest etc. IHttpModule
on the other hand only has access to request-level events.
Additional note: It's possible to handle application start and end events even using an IHttpModule, but this is a non-documented feature and you have to take some special precautions. Check these two blog posts that explain it all into great depth:
Writing a customIHttpModule
that handlesApplication_OnStart
event
How to correctly useIHttpModule
to handleApplication_OnStart
event
I suggest you read a bit about application life cycle execution pipeline:
- ASP.NET Application Life Cycle Overview for IIS 5.0 and 6.0
- ASP.NET Application Life Cycle Overview for IIS 7.0
- Walkthrough: Creating and Registering a Custom HTTP Module
The HttpApplication Class
The HttpApplication class is used to access application wide information within an ASP.NET web application or site. Table B.3 shows the HttpApplication class properties.
Property | Description |
---|---|
Application | Returns a reference to an HttpApplicationState bag instance. This is the object that is used in the global.asax and any ASP.NET Web Form; it is this collection that holds the Application scoped variables/objects/components. |
Context | Provides access to an HttpContext object for the current instance of HttpApplication, which provides access to HTTP pipeline-module exposed objects (Request/Response, for example). |
Modules | Provides access to a collection of all HttpModules configured ... |
标签:instance,What,IHttpModule,Application,access,application,HttpApplication 来源: https://www.cnblogs.com/chucklu/p/15308522.html