最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Asp.NET中 HttpHandler、HttpModule深入分析
时间:2015-03-16 编辑:简简单单 来源:一聚教程网
在我们 .NET web.config 的配置文件中经常会看到HttpHandler与HttpModule这两个词,那么你真正理解这两个词吗?下面就给大家讲解一下HttpHandler、HttpModule的作用和应用。
什么是IHttpHandler?
IHttpHandler定义了实现HTTP请求的一些基本约定,简单理解就是配置一个HttpHandler就实现了一个URL请求。如果一个IHttpHandler定义了其实现类,那么就相当于是覆盖关系。
IHttpHandler的使用方法
HttpHandler,则需要继承自IHttpHandler接口,如下面的代码:
public class SampleHttpHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("SampleHttpHandler返回的结果!");
}
}
SampleHttpHandler继承自IHttpHandler接口,接口中有一个需要实现的方法ProcessRequest,这个方法就是具体处理的内容。
当cs代码写好后只需要配置web.config即可,如下所示:
这样SampleHttpHandler就是配置成功了,”/SampleHttpHandler”就是可以访问的路径了。
什么是HttpModule?
简单说HttpModule就是一个过滤器。任何一个HTTP请求在做任何处理前都必须经过HttpModule的处理,HttpModule就是HTTP请求的必经之路。其工作原理就是监听HttpRequest,对请求做统一吃处理,比如可以处理将所有为以”/”结尾的url重定向到以”/”结尾的URL中。
HttpModule的使用方法
HttpModule都必须实现IHttpModule接口,在实现类中做具体的处理。
比如下面的例子:
只要将SampleHttpModule完整空间路径配置正确即可。
下面的图反应了HttpHandler、HttpModule的关系
到此你应该明白HttpHandler、HttpModule的区别和什么时候用HttpHandler,什么时候用HttpModule。将HttpHandler比作完整工艺流程,那么HttpModule负责的则是流程中的一个环节。
相关文章
- 理解Asp.Net中WebForm的生命周期 06-20
- asp.net中使用母版制作出的页脚效果 05-17
- ASP.NET在使用X509Certificate2出现问题时的一些解决方法 05-16
- ASP.NET 定时器回调方法的重入 04-20
- 剖析Asp.Net Web API路由系统---WebHost部署方式 04-13
- Asp.net用Button打开另一个的frm的教程 12-26