HttpHandler开发的两个重点问题

大家在用HttpHandler的时候,一般都会有两个大的疑问(当然,前提是你有钻研精神的话,呵呵)

1. IsReusable到底什么意思?

老实说,这个属性很多人都感兴趣,但搞懂的人确实不多。MSDN中的介绍也是不知所以然。

获取一个值,该值指示其他请求是否可以使用 IHttpHandler 实例。该属性默认为false

我来这么说吧,首先我们为什么使用自定义的Handler呢?简单的说,我们是希望能接管掉某些请求, 对吧?最常见的应用如下

对图片进行处理。例如所有图片都输出一个水印。或者防止盗链到设计

添加一些特殊的扩展名。例如,我的网站能不能有一个后缀名为chenxizhang的网页呢?(这当然是一 个比喻,事实上一般没有必要这么做)

知道上述的需求之后,我们再来看一下后台的设计。HttpHandler其实就是实现了IHttpHandler接口的 一个类型,它要工作,就必须通过 ASP.NET所提供的一些所谓的Factory去创建实例,然后调用它的 ProcessRequest方法。其实就这么简单

因为创建对象实例在服务器肯定是需要占用资源的,那么我们就势必要考虑这些请求能不能在一定程 序上去复用。这就是IsReusable的初衷

事实上,我们对这种复用并不会陌生。平常我们就知道对象池和连接池的技术。Handler的Reuse也是 一个池的概念。

好了,说了这么一堆的概念,我们来讲一讲该属性设置为true和设置为false的区别。

设置为true,则通常情况下,就创建一次实例

设置为false,则每次请求都需要创建实例

时间: 2024-08-30 16:37:52

HttpHandler开发的两个重点问题的相关文章

ios开发中两个常见问题解决方法

  ios开发中两个常见问题解决方法来啦!大家知道苹果手机使用的是ios系统,而且用户量很庞大,所以ios开发也成了很热门的行业.下文小乐哥给大家带来ios开发中两个常见问题解决方法,希望给技术员在ios开发中起到帮助作用! ios开发中两个常见问题解决方法 一."Unknown class XXViewController in Interface Builder file."问题处理 最近在静态库中写了一个XXViewController类,然后在主工程的xib中,将xib的类指定

Python 多线程开发的两种常用方式

目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用. 2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这点,出现了multithreading  模块.threading模块里面主要是对一些线程的操作对象化,创建Thread的class.一般来说,使用线程有两种模式: A

AJAX 开发的两种不同的方法

ajax     最近几年Ajax应用程序开发出现了两种截然不同的方法,每一种方法都对以前的结构模型进行扩展.由于两种方法性质看起来是不同的,所以在实际应用程序的开发中应选择其中一种.     当我们第一次听到Ajax这个术语的时候,我们的第一反应可能就是其较高的Web页面交互性.至少在JavaScript中的Web应用程序部分必要的代码提供交互性,虽然在Ajax应用程序意义方面都有一致的意见,但对于开发者如何与JavaScript进行交互或者如何在客户端与服务器之间分配显示逻辑有一些分歧.  

对C#开发的两个基本原则的深入讨论

使用属性,避免将数据成员直接暴露给外界 学习研究.NET的早期,经常碰到一些学习C#/.NET的朋友问,要属性这种华而不实的东西做什么?后来做项目时也时常接到team里的人的抱怨反馈,为什么不直接放一个public字段?如:class Card{ public string Name;} 而要做一个private字段+public属性 class Card{ private string name; public string Name { get { return this.name;} se

松下开发出两种更高容量锂离子电池

松下开发出了两种更高容量的锂离子电池,可用于笔记本电脑和电动汽车. 松下12月25日在声明中称,松下计划在截止到2012年3月的财年大批量生产3.4安培小时的锂离子电池,并且在随后的一年里生产更高容量的4安培小时的锂离子电池.当把多个这种电池连接称一个模块的时候,这种电池就能够驱动电动汽车. 松下将在2011年10月之前投资1230亿日元(13亿美元)把锂离子电池的产量提高三倍,因为松下预测在电动汽车需求的推动下,全球动力电池市场到2018年将增长五倍.松下本月收购了全球最大的可充电电池厂商三洋

控件开发时两种JS嵌入资源方式的使用方法_实用技巧

第一种: 直接把要嵌入的JS文件属性设置为"嵌入的资源".protected override void OnInit(EventArgs e) {       base.OnInit (e);        if(!base.Page.IsStartupScriptRegistered("Script"))         {                 Assembly assembly = typeof(TestControl).Assembly;    

.net开发中两个“属性”引起的歧异

对于property和attribute这两个名词都叫"属性"的问题,来源于国内it书籍翻译界的疏忽. 其实它们来源于两个不同的领域,attribute属于OOA/OOD的概念,而property属于编程语言中的概念.下面我们来说明它们的异同. Attribute Attributes是Microsoft .NET Framework文件的元数据,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为. Property 属性是面向对象编程的基本概念,提供了对私有字段的访

暴雪加快《魔兽》第四部资料片的开发预计两年内推出

暴雪公司网游<魔兽世界>(World of Warcraft)的总设计师汤姆·切尔顿(Tom Chilton)接受了一次采访,在采访中他透露,<魔兽世界>的下一部资料片的开发速度将会更快于以往三部资料片.不过,目前还没有具体的此项目计划放出,他说暴雪期望最新资料片版本尽量在两年内完成. 他的制作小组花了几年的时间完成了资料片大灾变的开发,拥有高质量内容的大灾变版本也是暴雪的最新游戏开发技术的结晶. 现在,整个游戏世界的面貌都改变了,他们希望尽力在一年左右的时间完成新资料片的开发,并

整形医院类网站两个重点的网络营销方法详解

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 目前整形行业还处于刚刚起步的阶段,随着爱美之心的泛滥,整形类的网站一定会获得极大的发展,正是因为发展前景相当不错,互联网上的整形医院类的网站如雨后春笋般的建设了起来,这极大的增加了整形医院类网站的竞争激烈程度,所以要想从这个行业里面成功突围,只有利用两大营销方法,一个是SEO优化的搜索引擎营销,另一个就是其他形式的网络营销两种!下面就来进行简