1 / 33

第十章 ASP 与 COM 技术

第十章 ASP 与 COM 技术. 10.1 COM 理论基础. 组件的特性 ( 1 )组件必须有明确的接口定义 (specification) ; ( 2 )组件必须包含一个具体实现接口的部分 (implementation) ; ( 3 )组件是可装配的 (packaged up) ; ( 4 )组件可被分发安装 (deploy) ; ( 5 )组件必须遵循一定的规范 (standard) 。. 代码复用的发展历程. 静态链接. 代码复用的发展历程. 动态链接. COM 组件模型.

Télécharger la présentation

第十章 ASP 与 COM 技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十章 ASP与COM技术

  2. 10.1 COM理论基础 • 组件的特性 (1)组件必须有明确的接口定义(specification); (2)组件必须包含一个具体实现接口的部分(implementation); (3)组件是可装配的(packaged up); (4)组件可被分发安装(deploy); (5)组件必须遵循一定的规范(standard)。

  3. 代码复用的发展历程 • 静态链接

  4. 代码复用的发展历程 • 动态链接

  5. COM组件模型 • COM(Component Object Model)是一种基于组件(Component)的软件模型,它是新的代码重用技术 • COM技术范畴包括规范与实现两部分:规范部分定义了组件之间的通信机制,这些规范不依赖于任何特定的语言和操作系统;实现部分即COM库,为COM规范的具体实现提供一些核心服务,由windows操作系统提供

  6. COM接口 • 接口是对COM组件功能的逻辑分组,外界通过获取特定的接口指针使用组件所提供的功能。

  7. COM的基本术语 • COM库 • 系统注册表 • 类型库 • 组件库文件(DLL或EXE)

  8. 查看组件对象接口 • 工程/引用…

  9. 查看组件对象接口 • 调出对象浏览器

  10. COM标识 • GUID(Globally Unique Identifier) AE6105F0-4EB6-43C9-A0DA-4E2BB6EEBEF6 • COM中使用的GUID · 用以标识组件库的GUID被称为LIBID; · 用以标识组件的GUID被称为类标识符CLSID; · 用以标识接口的GUID称为IID; · ProgID是程序员给某个CLSID指定的一个友好的名称,特别地,VB用ProgID来标识组件。

  11. VB中ProgID的确定 • ProgID=VB工程名.类模块名 • ProgID=BBSMoudle. BBSDisplay和BBSMoudle. BBSManager

  12. 10.2 ASP与COM • ASP 的局限性 • (1)程序代码与HTML文档混在一起,从而使对代码和网页的管理难以分开 • (2)ASP不容易实现程序的模块化,许多完成同样功能的代码会重复出现在不同的网页中,修改起来非常困难; • (3)ASP本身的脚本语言功能有限,速度慢

  13. ASP 的局限性 • (4)ASP网站不易于扩充,多为两层结构

  14. ASP 的局限性 • (5)纯ASP开发的网站可重用性差。 • 如何解决?

  15. 采用COM组件技术突破ASP的缺陷 • (1)COM组件实现了软件的可重用性: • (2)创建可伸缩(scalable)的分布式系统: • (3) COM组件可以访问和使用计算机上的所有资源 • (4)通过封装一些通用的功能,可以保证整个网站以一致的风格呈现

  16. 采用COM组件技术突破ASP的缺陷 • (5)将业务程序封装为可重复使用的COM组件,可同时支持C/S和B/S的Web 应用程序 • (6)可以用任何支持组件对象模型 (COM) 的编程语言

  17. 在ASP中创建组件对象的实例 • Server.CreateObject (ProgID)

  18. 10.3 VB开发COM组件 • 创建一个COM组件完成一个较为复杂的数学计算工作 : 求数学常数e的X次方

  19. VB开发COM组件 • 分析:

  20. VB开发COM组件 • 设计

  21. VB开发COM组件 • 1.创建一个ActiveX DLL工程 • 2.编码实现属性X • 3.在类的初始化过程中初始化数据成员 • 4.向类模块中添加函数和过程 • 1)Factorial函数,用于完成阶乘计算 • 2)创建EX()函数。 • 5.编译

  22. 测试 COM组件 • MathTest.asp

  23. 发布COM组件 • (1)手动注册 regsvr32 组件库文件名(dll或Exe) • (2)手动取消注册: regsvr32 /u 组件库文件名(dll或Exe)

  24. clsDatabase组件 • 将clsDatabase类转为COM组件 • 在ASP中应用clsDatabase组件对象 • 测试:testDll.asp

  25. 运行结果

  26. 在VB组件中使用ASP内部对象 win2000中提供ASP内部对象的组件库

  27. VB加入ASP内部对象库的引用

  28. 在COM组件中利用ASP内部对象实现访问计数功能 • 实例:UseIISObj工程

  29. 组件锁定 • 问题的出现 • 问题的出现原因

  30. 解决组件锁定问题 • 在调试网站阶段,设置网站的应用程序保护级别为“高”

  31. 解决组件锁定问题 • 停止IIS的IISADMIN服务

  32. 解决组件锁定问题 • 重编译组件 • 重新启动IIS服务: 在DOS窗口中键入: net start W3SVC 即可重新启动IIS。

  33. 课后练习 • 完成本章习题

More Related