ASP与COM技术.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学计算机系 第十章 ASP与COM技术 10.1 COM理论基础 组件的特性 (1)组件必须有明确的接口定义(specification); (2)组件必须包含一个具体实现接口的部分(implementation); (3)组件是可装配的(packaged up); (4)组件可被分发安装(deploy); (5)组件必须遵循一定的规范(standard)。 代码复用的发展历程 静态链接 代码复用的发展历程 动态链接 COM组件模型 COM(Component Object Model)是一种基于组件(Component)的软件模型,它是新的代码重用技术 COM技术范畴包括规范与实现两部分:规范部分定义了组件之间的通信机制,这些规范不依赖于任何特定的语言和操作系统;实现部分即COM库,为COM规范的具体实现提供一些核心服务,由windows操作系统提供 COM接口 接口是对COM组件功能的逻辑分组,外界通过获取特定的接口指针使用组件所提供的功能。 COM的基本术语 COM库 系统注册表 类型库 组件库文件(DLL或EXE) 查看组件对象接口 工程/引用… 查看组件对象接口 调出对象浏览器 COM标识 GUID(Globally Unique Identifier) AE6105F0-4EB6-43C9-A0DA-4E2BB6EEBEF6 COM中使用的GUID · 用以标识组件库的GUID被称为LIBID; · 用以标识组件的GUID被称为类标识符CLSID; · 用以标识接口的GUID称为IID; · ProgID是程序员给某个CLSID指定的一个友好的名称,特别地,VB用ProgID来标识组件。 VB中ProgID的确定 ProgID=VB工程名.类模块名 10.2 ASP与COM ASP 的局限性 (1)程序代码与HTML文档混在一起,从而使对代码和网页的管理难以分开 (2)ASP不容易实现程序的模块化,许多完成同样功能的代码会重复出现在不同的网页中,修改起来非常困难; (3)ASP本身的脚本语言功能有限,速度慢 ASP 的局限性 (4)ASP网站不易于扩充,多为两层结构 ASP 的局限性 (5)纯ASP开发的网站可重用性差。 如何解决? 采用COM组件技术突破ASP的缺陷 (1)COM组件实现了软件的可重用性: (2)创建可伸缩(scalable)的分布式系统: (3) COM组件可以访问和使用计算机上的所有资源 (4)通过封装一些通用的功能,可以保证整个网站以一致的风格呈现 采用COM组件技术突破ASP的缺陷 (5)将业务程序封装为可重复使用的COM组件,可同时支持C/S和B/S的Web 应用程序 (6)可以用任何支持组件对象模型 (COM) 的编程语言 在ASP中创建组件对象的实例 Server.CreateObject (ProgID) 10.3 VB开发COM组件 创建一个COM组件完成一个较为复杂的数学计算工作 : 求数学常数e的X次方 VB开发COM组件 VB开发COM组件 设计 VB开发COM组件 1.创建一个ActiveX DLL工程 2.编码实现属性X 3.在类的初始化过程中初始化数据成员 4.向类模块中添加函数和过程 1)Factorial函数,用于完成阶乘计算 2)创建EX()函数。 5.编译 测试 COM组件 MathTest.asp 发布COM组件 (1)手动注册 regsvr32 组件库文件名(dll或Exe) (2)手动取消注册: regsvr32 /u 组件库文件名(dll或Exe) clsDatabase组件 将clsDatabase类转为COM组件 在ASP中应用clsDatabase组件对象 测试:testDll.asp 运行结果 在VB组件中使用ASP内部对象 VB加入ASP内部对象库的引用 在COM组件中利用ASP内部对象实现访问计数功能 实例:UseIISObj工程 组件锁定 问题的出现 解决组件锁定问题 在调试网站阶段,设置网站的应用程序保护级别为“高” 解决组件锁定问题 停止IIS的IISADMIN服务 解决组件锁定问题 重编译组件 重新启动IIS服务: 在DOS窗口中键入: net start W3SVC 即可重新启动IIS。 课后练习 完成本章习题 * * ProgID=BBSMoudle. BBSDisplay和BBSMoudle. BBSManager 分析: 说 明 所在位置 组件库 存放ASP内部对象的实现代码 \ winnt\system32\inetsrv\ ASP.DLL 提供COM+的通用服务 \winnt\system32\

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档