首页 / 网页编程 / ASP.NET / HttpHandler开发的两个重点问题
        
            HttpHandler开发的两个重点问题2011-10-25 博客园 陈希章大家在用HttpHandler的时候,一般都会有两个大的疑问(当然,前提是你有钻研精神的话,呵呵)1. IsReusable到底什么意思?老实说,这个属性很多人都感兴趣,但搞懂的人确实不多。MSDN中的介绍也是不知所以然。获取一个值,该值指示其他请求是否可以使用 IHttpHandler 实例。该属性默认为false我来这么说吧,首先我们为什么使用自定义的Handler呢?简单的说,我们是希望能接管掉某些请求, 对吧?最常见的应用如下对图片进行处理。例如所有图片都输出一个水印。或者防止盗链到设计添加一些特殊的扩展名。例如,我的网站能不能有一个后缀名为chenxizhang的网页呢?(这当然是一 个比喻,事实上一般没有必要这么做)知道上述的需求之后,我们再来看一下后台的设计。HttpHandler其实就是实现了IHttpHandler接口的 一个类型,它要工作,就必须通过 ASP.NET所提供的一些所谓的Factory去创建实例,然后调用它的 ProcessRequest方法。其实就这么简单因为创建对象实例在服务器肯定是需要占用资源的,那么我们就势必要考虑这些请求能不能在一定程 序上去复用。这就是IsReusable的初衷事实上,我们对这种复用并不会陌生。平常我们就知道对象池和连接池的技术。Handler的Reuse也是 一个池的概念。好了,说了这么一堆的概念,我们来讲一讲该属性设置为true和设置为false的区别。设置为true,则通常情况下,就创建一次实例设置为false,则每次请求都需要创建实例