ASP.NET PipeLine #Reprinted#

从ASP.NET 1.0 起,相比于ASP中的COM, PipeLine 就是一项重大的改进。 ASP.NET 时代的管道模型究竟是怎么样的?                    

                       

    我们能接触到的四个最重要的概念就是HttpApplication, theHttpContext, the HttpModule, and the HttpHandler.            

 

        

                        The HttpApplication                    

一般来说,一个Request 的Endpoint是一个Http Handler。 但是一个Handler存在的周期非常的短,比如说我们想缓存一个全局的对象,无法在这个Handler                         中去长久保存。而HttpApplication就有这个作用。                    

        The HttpContext                    

一个Pipe周期中各个过程直接需要传递Request的相关信息,就需要这么一个中介。值得注意的是我们并不需要显式的去传递这个HttpContext, 因为这个对象存在于PipeLine中可以静态的获得。                    

The HttpModules                    

                        HttpModules

如果说Http Handler是一个Request的终点的话,Http Modules是所有请求必经之路PipeLine的一段路。                    

                       

首先要注册Modules, 一般在Web.config. 当然IIS的集成模式下,可以用命令行的方式注册。                    

Modules 可以跟踪很多事件,然后在这些事件中处理Request.                    

 

                        HTTP Modules 和Global.asax 的选择                    

Modules的最大好处就是能重用,能编译放到GAC里面。                    

1 如果代码不需要重用, Global.asax 足够了                    

2 如果有特殊需求,比如说 Session_Start and Session_End的事件在Modules里面是无法处理的。                    

The HttpHandlers                    

是一个Request的Endpoint.像aspx,asmx,ashx这些其实就是实现了IHttpHandler接口的一些类。

转载于:https://www.cnblogs.com/wushuaiyi/p/4642837.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值