欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.NET之ASP WebApplication快速入门(4)

程序员文章站 2022-07-02 18:50:45
.net之asp web application快速入门(4)  application 或 session作用范围内的对象 在global.asax文件中,我们可以通过object标记定义静...
.net之asp web application快速入门(4) 
application 或 session作用范围内的对象


在global.asax文件中,我们可以通过object标记定义静态对象,这些对象可以是.net框架类,也可以是经典的com。其作用范围可以是appinstance、session或者application中的任一种。如果一个对象的作用范围是appinstance,就表示这个对象明确属于httpapplication的一个实例,并且不被共享。


请看下面定义对象作用范围的例子:


<object id="id" runat="server" class=".net
framework class name" scope="appinstance">

<object id="id" runat="server" progid="classic
com progid" scope="session"/>

<object id="id" runat="server" classid="classic
com classid" scope="application"/>

什么是httphandlers 和 factories(http处理器和工厂)


asp.net提供了一套低级别的请求/响应api,利用它们我们就可以使用.net框架类服务于输入的http请求,它们就是httphandlers
和factories。httphandlers 和factories可以说是asp.net框架的中枢。factories(工厂)将每个请求分配给一个handler(处理器),由这个处理器再负责处理请求。具体实现步骤就是创建支持system.web.ihttphandler接口的类,并执行processrequest()方法。当不要求高级别页面框架提取的服务处理http请求时,处理器经常很有用途。处理器的一般用途包括过滤器和仿cgi应用,特别是那些返回二进制数据的应用。





asp.net接收的每一个http输入请求最终被一个特殊的类实例ihttphandler所处理,ihttphandlerfactory提供了处理器到ihttphandler实例的基础下部组织。asp.net自带3个标准的ihttphandlerfactory类:pagehandlerfactory,restrictedresourcefactory和webservicehandlerfactory。我们还可以有选择的创建并注册附加factories(工厂)以支持更丰富的请求决定和激活场合。

配置httphandlers 和 factories


httphandlers 和factories 作为config.web文件的一部分进行配置。asp.net定义了一个"httphandlers"配置节,在这里可以添加和删除httphandlers和factories。这些配置信息可以通过子目录而继承下来。


比如,下面这些代码位于config.web文件的头部,目的就是映射所有关于.x文件的请求到pagehandlerfactory类:


<httphandlers>

...

<add verb="*" path="*.aspx" type="system.web.ui.pagehandlerfactory"
/>

...

</httphandlers>