当前位置: 首页 > 图文教程 > 网络编程 > ASP > .NET之ASP WebApplication快速入门(4)

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 145 ::
收藏到网摘: n/a

  .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文件的头部,目的就是映射所有关于.aspx文件的请求到PageHandlerFactory类:


<httphandlers>

...

<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"
/>

...

</httphandlers>