asp.net预定义的HttpModule

在asp.net中,已经预定义了很多HttpModule,甚至在服务器的网站配置文件中进行了注册,我们可以通过系统文件夹C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config中,找到web.config,可以在其中找到14个HttpModule。如下所示:

复制代码
<httpModules>
  <!--完成asp.net的输出缓存管理工作,OutputCacheModule的配置参数通过system.web配置元素的caching子元素的outputcache元素进行定义,当启用输出缓存后,
  OutputCacheModule将注册HttpApplication的ResolveRequestCache和UpdateRequestCache两个事件,完成输出缓存的管理-->
  <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
  <!--完成session的管理工作,这个Module的配置参数通过配置文件中的system.web配置元素的sessionState子元素进行配置。当启用Session状态管理之后,
  SessionStateModule将注册HttpApplication的AcquireRequestState,ReleaseRequestState,EndRequest三个事件完成Session状态管理-->
  <add name="Session" type="System.Web.SessionState.SessionStateModule" />
  <!--WindowsAuthenticationModule,FormsAuthenticationModule,PassportAuthenticationModule用来完成用户的的验证工作。
  他们通过在配置文件中system.web的子元素authentication子元素定义,mode属性用来指定网站当前使用的验证方式。也就是哪一个Module将被用来完成验证工作。
  在启用验证的情况下,FormsAuthenticationModule和PassportAuthenticationModule将注册HttpApplication的AuthenticateRequest和EndRequest事件进行用户的验证处理。
  WindowsAuthenticationModule将注册AuthenticateRequest事件处理。 -->
  <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
  <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
  <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
  <!--RoleManagerModule,UrlAuthorizationModule,FileAuthorizationModule用来用户的授权管理,授权管理的配置参数来自system.web的authorization子元素。
  UrlAuthorizationModule和FileAuthorizationModule注册了HttpApplication的AuthorizeRequest事件处理,用来检查url和文件的访问权限。
  RoleManagerModule在url和文件访问授权检查通过之后,通过用户的标识和角色来完成用户的授权检查,RoleManagerModule注册了HttpApplication的PostAuthenticateRequest和EndRequest事件处理。-->
  <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
  <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
  <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
  <!--提供匿名用户的标识,是否启用匿名用户标识在配置文件的system.web配置元素的子元素anonymousIdentification中定义,还可以配置匿名标识的管理方式。
  由于在AuthenticateRequest事件中将验证用户,获取用户名,所以这个Module注册了PostAuthenticateRequest的事件处理,当用户没有经过验证的时候,为用户分配一个唯一的匿名标识。-->
  <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
  <!--在.NET 2.0之后,提供个性化数据管理。这是一个自定义的类似Session的会话状态管理,但是个性化数据的读取和保存可以由程序员完全控制,并且提供了强类型的数据访问方式,
  这个Module的配置参数在system.web的子元素profile中进行说明。当启用这个个性化数据管理之后,Module将注册HttpApplication的AcquireRequestState和EndRequest事件处理。-->
  <add name="Profile" type="System.Web.Profile.ProfileModule" />
  <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
  <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
复制代码
posted @   wolfy  阅读(516)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2015-03-08 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复
点击右上角即可分享
微信分享提示