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

ASP.NET
通过数据捆绑将数据添加到ASP.NET 页面
ASP.NET 2.0程序安全的基础知识
ASP.NET2.0的跨页回调
使用ASP.Net Forms模式实现WebService身份验证
asp.net 2.0中不同web控件之间的相互调用
如何于DataGridView控件中以跨数据行方式显示数据
图片地址防盗链,通过IHttpHandler实现
ACCESS在Web.config里设置连接字符串
asp.net 2.0 下的表单验证Cookieless属性
结合ASP.NET与JavaScript开发电子沙盘
理解ASP.NET与客户端缓存之HTTP协议
数据回发时,维护ASP.NET Tree控件位置
获得DataGridViewCheckBoxColumn的状态
GridView显示主细表并添加打开、关闭功能
ASP.NET 2.0防止同一用户同时登陆
asp.net中对数据库表插入null空值的问题
IIS运行不了ASP.NET的解决办法
ASP.NET实现投票结果的图片进度条显示
实例:asp.net生成曲线图的过程
ASP.NET2.0中TextBox的两个有趣的属性

ASP.NET 中的 .NET之ASP Web Application快速入门(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 80 ::
收藏到网摘: 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>