当HttpContext对象创建之后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型为HttpApplication. 在ASP.NET内部,HttpRuntime管理一个定义在System.Web命名空间下的HttpApplicationFa ...
当HttpContext对象创建之后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型为HttpApplication. 对于一个管道来说,它往往要暴露出大量的事件,通过这些事件,提供程序员的扩展机制。但是,对于一具有着众多事件的类来说,定义大量的事件意味着创建对象的时候需要付出创建事件的成本,因为在.NET中,所谓的事件就是一个受限制的委托成员,定义多个事件,意味着在创建的对象中将会需要更多的存储空间。针对这个问题,在System.ComponentModel.Component类中,提供了处理多个事件的基础:Events属性,它的类型为System.ComponentModel.EventHandlerList,这是一个线性的字典,当需要事件的时候, 就通过key将事件保存到集合中,没有对应的事件,就不会付出创建事件的成本,这样,通过EventHandlerList可以在一个集合中管理多个事件对象,节省对象占用的空间,它的主要成员如下:
在使用的时候,首先从Component派生一个类,这个类将继承Component的Events集合属性。对于这个派生类所需要定义的每一个类,这个类将继承Component的Event集合属性。对于这个派生类所需要定义的每一个事件,在类中定义一个对应的作为Key的对象,以后,通过这个Key对象来访问由Events集合管理的事件。
原标题:.NET本质论(4)应用程序对象HttpApplication
关键词:.NET
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。