首页 > 其他 > 详细

HttpHandler

时间:2014-03-18 01:52:48      阅读:447      评论:0      收藏:0      [点我收藏+]

Refer:Introduction to HTTP Handlers

 

ASP.NET HTTP handler 是一个ASP.NET应用程序响应客户端请求的过程的“终端”。最常见的handler是处理.aspx文件的ASP.NET page handler。

ASP.NET程序通过文件的扩展名对handler做映射,当请求一个文件时,先在映射表里面找对应的handler,如果找到了,就把请求交给这个handler去处理。

我们可以在ASP.NET程序中,自定义一些handler,用来处理指定扩展名的文件。

HttpHandler 可以访问应用程序的上下文,包括用户的身份,应用程序的状态和会话信息。当一个handler被请求,ASP.NET会调用这个handler的ProcessRequest方法,这个方法中会构建一个返回给客户端的response。所有的handler处理结束后,返回的response会通过程序中配置的Http modules,然后会调用modules中定义的生命周期事件。

 

ASP.NET中内建的handler:

ASP.NET Page Handler(*.aspx)

Web service handler(*.asmx)

ASP.NET user control handler(*.ascx)

Teace handler(trace.axd)

 

自定义HTTP Handler

如果想在自己的ASP.NET程序中处理一些指定扩展名的文件,首先需要先在IIS的元数据库中把该文件的扩展名映射给ISAPI,这样子该文件就会被交给ASP.NET处理了。

然后在程序中定义一个类来实现IHttpHandler。

bubuko.com,布布扣

IHttpHandler包含了三个成员,IsResuable属性用来指定是否把IHttpHandlerFactory对象(程序实际调用的handler)放到Handler pool中,放到pool中的好处是handler可以重用,这样能够提升性能。ProcessRequest方法用来处理request,并且返回response。

然后在程序的web.config文件中的<system.web>节点下配置文件扩展名和自定义handler的映射

bubuko.com,布布扣

HttpHandler,布布扣,bubuko.com

HttpHandler

原文:http://www.cnblogs.com/SuuuperPig/p/3605358.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!