What is the difference between HttpApplication class and IHttpModule?

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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 custom IHttpModule that handles Application_OnStart event How to correctly use IHttpModule to handle Application_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.

Table B.3. Application Class Properties
PropertyDescription
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 ...

 

 

 

 

 

脚本宝典总结

以上是脚本宝典为你收集整理的What is the difference between HttpApplication class and IHttpModule?全部内容,希望文章能够帮你解决What is the difference between HttpApplication class and IHttpModule?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。