HttpHandler

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。

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

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

 

 

转载于:https://www.cnblogs.com/SuuuperPig/p/3605358.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值