如何决定在项目中使用HttpHandler还是HttpModule?

2026-05-27 08:130阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计3464个文字,预计阅读时间需要14分钟。

如何决定在项目中使用HttpHandler还是HttpModule?

最近收到几个疑问:HttpHandler与HttpModule之间有什么区别,我到底该选择哪个?

之所以有这个疑问,是因为在这两类对象中,都可以访问和操作Request、Response对象,都能处理请求。

最近收到几个疑问:HttpHandler和HttpModule之间有什么差别,我到底该选择哪个?
之所以有这个疑问,是因为在这二类对象中都可以访问Request, Response对象,都能处理请求。

我原以为在博客 用Asp.net写自己的服务框架 中做了那么多的演示应该把它们的使用方法说清楚了, 然而有些人看了我的那些示例,仍然不知道该如何选择它们,为了实现同一个目标,我既用了HttpHandler,也有用HttpModule。 现在看来,我当时设计的那些示例并不是讲清楚HttpHandler和HttpModule之间有什么差别, 而是在演示如何利用HttpHandler和HttpModule设计一个服务框架。

很庆幸那篇博客内容没有走题,今天只好再来写一篇了。

本文约定:
1. HttpHandler泛指所有实现IHttpHandler接口的类型。
2. HttpModule泛指所有实现IHttpModule接口的类型。
因此,本文将不会特别区分这些类型与接口。

理解ASP.NET管线

HttpHandler和HttpModule,它们都与ASP.NET管线有关,所以我想理解这二类对象必须要理解ASP.NET管线的工作方式。

下图反映了ASP.NET管线的处理流程:

这是一张时序图,我们应该从二个角度来理解它:
1. 有哪些调用动作。
2. 有哪些参与者。

阅读全文

本文共计3464个文字,预计阅读时间需要14分钟。

如何决定在项目中使用HttpHandler还是HttpModule?

最近收到几个疑问:HttpHandler与HttpModule之间有什么区别,我到底该选择哪个?

之所以有这个疑问,是因为在这两类对象中,都可以访问和操作Request、Response对象,都能处理请求。

最近收到几个疑问:HttpHandler和HttpModule之间有什么差别,我到底该选择哪个?
之所以有这个疑问,是因为在这二类对象中都可以访问Request, Response对象,都能处理请求。

我原以为在博客 用Asp.net写自己的服务框架 中做了那么多的演示应该把它们的使用方法说清楚了, 然而有些人看了我的那些示例,仍然不知道该如何选择它们,为了实现同一个目标,我既用了HttpHandler,也有用HttpModule。 现在看来,我当时设计的那些示例并不是讲清楚HttpHandler和HttpModule之间有什么差别, 而是在演示如何利用HttpHandler和HttpModule设计一个服务框架。

很庆幸那篇博客内容没有走题,今天只好再来写一篇了。

本文约定:
1. HttpHandler泛指所有实现IHttpHandler接口的类型。
2. HttpModule泛指所有实现IHttpModule接口的类型。
因此,本文将不会特别区分这些类型与接口。

理解ASP.NET管线

HttpHandler和HttpModule,它们都与ASP.NET管线有关,所以我想理解这二类对象必须要理解ASP.NET管线的工作方式。

下图反映了ASP.NET管线的处理流程:

这是一张时序图,我们应该从二个角度来理解它:
1. 有哪些调用动作。
2. 有哪些参与者。

阅读全文