ASP 3.0高级编程(十八)

伴生矿999

伴生矿999

2016-01-29 19:11

ASP 3.0高级编程(十八),ASP 3.0高级编程(十八)
  5.2.5 引用对象类型库
    在早先的ASP版本中,在脚本中使用对象或组件时,组件内定义的公共常数(如果有的话)在ASP里将不再有效。这意味着我们需要自己声明它们(或等价物)并指定相应的值。
    例如,当在早期版本的ASP中使用ActiveX数据库对象(ADO)组件时(将在第8章进行详细的研究),不得不用记录集的Open方法加入预定义常数声明。例如:
    Const adOpenKeyset = &H0001
    Const adLockPessimistic = &H0003
    Const adCmdTable = &H0002
    …
    rs.Open “Contact”,”DSN=GlobalExampleData;UID=examples;Password=;”, _
            adOpenKeyset, adLockPessimistic, adCmdTable
    …
    另一种方法是使用#include指令在页面插入一个名为adovbs.inc的文件。该文件由IIS/ASP提供,包含ADO所需的所有预定义常数。更新代码时,必须确认使用的是最新版本,并检查它对于所有的页面请求都可用。
    对于IIS 5.0,有一个更好的方法,通过在HTML注释元素内使用METADATA指令,可以给组件或对象的类型库增加引用(IIS 4.0不支持这一功能)。
    <!-- METADATA TYPE=”TypeLib”
                   FILE=”path_and_name_of_file”
                   UUID=”type_library_uuid”
                   VERSSION=”major_version_number.minor_version_number”
                   LCID=”locale_id”
    --
    其中:
    · path_and_name_of_file是某一类型库文件(.tlb)或ActiveX DLL的绝对物理路径,必须提供这一参数或者是type_library_uuid参数。
· type_library_uuid是该类型库的唯唯一标识符,必须提供这一参数或者是path_and_name_of_file参数。
    · major_version_number.minor_version_number(可选)定义了所需组件的版本。如果没有该版本则使用最近的版本。
    · locale_id(可选)是区域标志符。如果在该区域没有发现类型库,计算机将使用缺省的(安装时定义的)区域。
    因此,使用这一技术,通过使用下面的代码,能使内置的ADO预定义常数在ASP页面可用:
    <!-- METADATA TYPE=”TypeLib”
                FILE=”C:Program FilesCommon FilesSystemadomsado15.dll”
    --
    文件名msado15.dll还可用于更高版本(2.50以后)的ADO组件。
    如果ASP不能装载类型库,就返回一个错误并停止该页的执行。可能的错误提示如表5-1所示:
表5-1  错误提示代码及说明
错 误    说 明
ASP 0222    无效的类型库说明
ASP 0223    未找到类型库
ASP 0224    类型库不能加载
ASP 0225    类型库不能打包(即ASP不能从指定的类型库中创建类型库包装对象)

5.2.6 在客户端上创建对象实例
    在ASP中讨论在服务器上实例化对象和组件的技术时,值得强调的是在浏览器中运行客户端页面而完成同样工作的方式。如果你使用ASP创建包含客户端脚本程序的页面,或者使用<OBJECT元素创建客户端组件实例,将会发现这是非常有用的。在大多数情况下,脚本运行期对象可在客户端上实例化和使用,效果与服务器上的ASP相同。
1.    VBScript CreateObject方法
在客户端使用CreateObject时,在浏览器的环境内创建组件或对象实例,它们与浏览器运行在相同的内存空间里(即进程内),除非实现的对象是带有.exe扩展文件名的可执行文件。
通常指定对象的ClassID,而不是使用ProgID字符串,这样就不可能与其他安装在客户端的对象发生冲突。
<SCRIPT LANGUAGE=”VBScript”
Dim objThis
Set objThis = CreateObject(“c
展开更多 50%)
分享

猜你喜欢

ASP 3.0高级编程(十八)

ASP
ASP 3.0高级编程(十八)

ASP 3.0高级编程(三十八)

ASP
ASP 3.0高级编程(三十八)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP 3.0高级编程(二十八)

ASP
ASP 3.0高级编程(二十八)

ASP 3.0高级编程(五)

ASP
ASP 3.0高级编程(五)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP 3.0高级编程(六)

ASP
ASP 3.0高级编程(六)

ASP 3.0高级编程(九)

ASP
ASP 3.0高级编程(九)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ASP+全新接触(3)

ASP+全新接触(3)

分布式拒绝服务攻击(tfn2k)攻击及iptables过滤测试

分布式拒绝服务攻击(tfn2k)攻击及iptables过滤测试
下拉加载更多内容 ↓