有高手吗?问一个概念性的问题!HttpModule是什么东东?做什么用的?

zooo 2005-01-05 04:49:09
有高手吗?问一个概念性的问题!HttpModule是什么东东?做什么用的?
...全文
238 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zipo 2005-01-08
  • 打赏
  • 举报
回复
HttpHandler实现了类似于ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response)。HttpHandler功能的实现通过实现IHttpHandler接口来达到。而HttpModule实现了类似于ISAPI Filter的功能。

  HttpModule的实现

  HttpModules实现了类似于ISAPI Filter的功能,在开发上,通常需要经过以下步骤:

  1.编写一个类,实现IhttpModule接口

  2.实现Init 方法,并且注册需要的方法

  3.实现注册的方法

  4.实现Dispose方法,如果需要手工为类做一些清除工作,可以添加Dispose方法的实现,但这不是必需的,通常可以不为Dispose方法添加任何代码。

  5.在Web.config文件中,注册您编写的类

  下面是一个HttpModules的示例,在这个示例中,只是简单的注册了HttpApplication 的BeginRequest 和 EndRequest事件,并且通过这些事件的实现方法,将相关的信息打印出来。

  例1:

  using System;

  using System.Web;

  namespace MyModule

  {

   public class MyModule : IHttpModule

   {

   public void Init(HttpApplication application)

   {

   application.BeginRequest += (new

  EventHandler(this.Application_BeginRequest));

   application.EndRequest += (new

  EventHandler(this.Application_EndRequest));

   }

   private void Application_BeginRequest(Object source, EventArgs e)

   {

   HttpApplication Application = (HttpApplication)source;

   HttpResponse Response=Application.Context.Response;

   Response.Write("
Beginning of Request

--------------------------------------------------------------------------------
");

   }

   private void Application_EndRequest(Object source, EventArgs e)

   {

   HttpApplication application = (HttpApplication)source;

   HttpResponse Response=Application.Context.Response;

   Response.Write("
End of Request

--------------------------------------------------------------------------------
");

   }

   public void Dispose()

   {

   }

   }

  }

  程序的开始引用了如下名称空间:

  using System;

  using System.Web;

  因为HttpApplication、HttpContext、HttpResponse等类在System.Web中定义,因此,System.Web名称空间是必须引用的。
lovelxj 2005-01-06
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/CHS/cpguide/html/cpconhttpmodules.asp?frame=true
lovelxj 2005-01-06
  • 打赏
  • 举报
回复
NET Framework 开发员指南

HttpModule
HttpModule 是实现 IHttpModule 接口和处理事件的程序集。ASP.NET 包含一组可由应用程序使用的 HttpModule 模块。例如,ASP.NET 提供了 SessionStateModule 来向应用程序提供会话状态服务。可以创建自定义 HttpModule 以响应 ASP.NET 事件或用户事件。

编写 HttpModule 的一般过程为:

实现 IHttpModule 接口。
处理 Init 方法并为所需事件进行注册。
处理该事件。
如果必须进行清理,还可根据需要实现 Dispose 方法。
在 Web.config 中注册该模块。
zooo 2005-01-06
  • 打赏
  • 举报
回复
csdn现在怎么这么惨淡啊?
问的都答的少
zooo 2005-01-05
  • 打赏
  • 举报
回复
晕,顶一下

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧