第 6章 Server和 ObjectContext对象
6.1 Server对象
6.2 ObjectContext对象
6.1 Server对象
Server对象提供了对服务器上的方法和属
性的访问, 其中大多数方法和属性是为应用
程序提供服务的 。 语法如下:
Server.property|method
其中 property表示 Server对象的属性,
method表示 Server对象的方法。
6.1 Server对象
6.1.1 Server对象的属性
Server对象只有一个 ScriptTimeout属性,
该属性用于设置一个 ASP脚本所允许的最长执
行时间 。 如果在指定的时间内脚本没有执行
完毕, 系统将停止其执行, 并且显示超时错
误 。 语法如下:
Server.ScriptTimeout=NumSeconds
其中的参数 NumSeconds以, 秒, 为单位,
系统的默认值为 90秒,可以在 IIS中重新设定。
6.1 Server对象
6.1.2 Server对象方法
Server对象提供了 CreateObject,HTMLEncode,
MapPath,URLEncode等方法 。
方法 描述
CreateObject 创建服务器组件的实例
HTMLEncode 将 HTML编码应用到指定的字符串
MapPath 将指定的虚拟路径 ( 无论是当前服务器上的绝对路径, 还是当前页
的相对路径 ) 映射为物理路径
URLEncode 将 URL编码规则 ( 包括转义字符 ) 应用到字符串
6.1 Server对象
1,CreateObject方法
创建一个已在服务器上注册的 ActiveX Server组
件的实例 。 语法如下:
Set 对象 =Server.CreateObject(“ActiveX组件, )
建立的对象, 当服务器端执行完其所在的 ASP页
后, 服务器将自动破坏这些实例对象, 也可以在 ASP
程序中通过如下脚本清除创建的对象实例:
<% fs=nothing %>
6.1 Server对象
2,MapPath方法
将指定的虚拟路径转换为服务器上相应的
物理路径, 这里的虚拟路径是指在 Web服务器
中建立的虚拟目录 。 语法如下:
真实的路径 = Server.MapPath("String")
String是用于指定虚拟路径的字符串。
MapPath 方法不支持相对路径语法 (.)或 (..),
但将, \”字符与, /”视为相同。
还可以使用 Request对象的服务器变量
PATH_INFO映射当前文件的物理路径。
6.1 Server对象
3,HTMLEncode方法
对指定的字符串应用 HTML编码 。 语法如下:
Server.HTMLEncode( string )
其中 String指定要编码的字符串。
想要在浏览器中原样输出 HTML标记字符,即
浏览器不对这些标记进行解释,可使用本方法。
6.1 Server对象
4,URLEncode方法
URLEncode方法将指定的字符串进行 URL编码, 语
法如下:
Server.URLEncode( string )
其中 String指定要编码的字符串。
对于 URL,一些 ASCII字符具有特殊的含义(例如
空格),使用编码的方法可以使这些字符加入 URL时
忽略它们自身的含义。 Server.URLEncode方法将这
些 ASCII字符转化成 URL中等效的字符。空格用, +”
代替,ASCII码大于 126的字符用, %”后跟 16进制代
码进行替换。
6.2 ObjectContext对象
ObjectContext对象是一个以组件为主的事
务处理系统, 可以保证事务的成功完成 。 使用
ObjectContext对象, 允许程序在网页中直接
配合 Microsoft Transaction Server( MTS)
使用, 从而可以管理或开发高效率的 Web服务
器应用程序 。
事务是一个操作序列,这些序列可以视为一
个整体。如果其中的某个步骤没有完成,所有
与该操作相关的内容都应该取消。
事务用于提供对数据库进行可靠的操作。
6.2 ObjectContext对象
在 ASP中使用 @TRANSACTION关键字来标识正在运行
的页面要以 MTS事务服务器来处理, 语法如下:
<%@TRANSACTION = value %>
其中 @TRANSACTION的取值有 4个。
值 意义
Required 开始一个新的事务或加入一个已经存在的事务处理中
Requires_New 每次都开始一个新的事务
Supported 加入到一个现有的事务处理中, 但不开始一个新的事务
Not_Supported 既不加入也不开始一个新的事务
6.2 ObjectContext对象
在 ASP中使用 @TRANSACTION指令时需注意:
? @TRANSACTION指令必须位于,asp文件中的第
一行, 否则会产生错误 。
? 事务不能跨越多个 ASP页面, 如果有多个页
面使用事务, 必须将该指令加到每一个页面中 。
当脚本处理完成之后, 当前事务也就结束了 。
6.2 ObjectContext对象
提供了 SetAbort方法 将终止目前这个网页所启动
的事务处理,而且将此事务先前所做的处理撤消到
初始状态,即事务, 回滚,, SetComplete方法 将
终止目前这个网页所启动的事务处理,而且将成功
地完成事务的提交。
语法如下:
'SetComplete方法
ObjectContext.SetComplete
'SetAbort方法
ObjectContext.SetAbort
6.2 ObjectContext对象
ObjectContext对象 提供了 OnTransactionCommit和
OnTransactionAbort两个事件处理程序, 前者是在
事务完成时被激活, 后者是在事务失败时被激活 。
语法如下:
Sub OnTransactionCommit()
'处理程序
End Sub
Sub OnTransactionAbort()
'处理程序
End Sub