正在加载图片...
460A5p3高程 Chinaopub.com 下载 COM+减轻了这些负担,提供了一个一般性的基础结构来支持许多不同类型的预写服务, 使组件可透明使用。不用更改一条代码就可使用它们中的一部分 1.COM+的补救措施 COM+是通过下面的机制来弥补这两点的不足 (1)COM+提供服务 首先,COM+提供一系列的服务,例如对象缓冲池,可在COM+应用程序中使用,不用编 写任何代码就可实现这些服务,这意味着不需要调试和检测,也不用担心前面讨论的任何其 他问题。简单地配置组件,通过 Component Services Explorer就可使用请求的服务。我们把那 些使用COM+服务的组件称为“配置的组件”,通过 Component Services Explorer构建的COM+ 应用程序就是使用这种类型的组件。 (2)COM+提供了组件服务之间的透明交互 第二,COM+提供一个基础结构,这意味可以在不改变任何代码的情况下自动地利用这 些服务的优点,因此ASP脚本和其他语言(如VB),能够屏蔽COM+运行期,可以在代码没有 重大改变的情况下使用这些服务。ASP脚本或组件使用这些服务不需要重新编译或修改,在 COM+运行期中也不需要调用低层次的C/C++API函数。不像COM,大多数COM+都是通过 COM接口使用的。 些COM+服务对编程增加了一些规则,需要稍稍修改代码,才能使组件充分使用它们。 正如讨论过的,一些服务(如对象缓冲池)当前在一些编程语言中是不可用的,这主要是由于这 些语言与COM+服务的额外要求之间存在着内在的不兼容性问题,然而,目前微软正在改进 这些服务使之能够用于其他的语言。 本章讨论的是COM+1.0。COM+20许诺增加更多的服务。 2.对象缓冲池 COM会管理所有的代码,根据请求实现一个服务(如缓冲池)。这意味着代码仅需如通常 一样创建和释放一个COM对象;在后台,COM+将使用拦截来实现缓冲池。COM+确保在创 建一个新的对象之前检测缓冲池,试图使用缓冲池中存在的对象:不再使用时,把对象放到 缓冲池中,实现缓冲池的代码不必插入应用程序中,因为在组件中插入服务是透明完成的 VB没有缓冲池 COM+提供了一个强大的通用框架,可提高Web应用程序性能,而不必改变任何代码。通 过 Component Services Explorer来选择组件所使用的服务,不需要重新编译这些组件。若管理 员要增加组件安全性,只让特定的用户能够调用特定的方法,仅需使用组件服务,不需改变 代码。不必担心所有可能使用此组件的应用程序的安全要求。我们把话题转回到COM+。 在幕后,COM+运行期确保已经为组件配置好的服务通过拦截被加入及使用。 我们已经指出在COM+中“拦截”这个词是非常重要的。 不好的方面是,不是所有的服务能被那些用VB编写的组件所使用。大部分能,但缓冲池 是一种不能使用的服务。原因将在后面讲述,但假如想使用特殊的服务,必须用C++编写自 己的组件(在17章中讨论)。已经有大量的服务可供选择,如事务支持和安全性。但为了充分利 用这些服务,应该理解我们所讨论的相关内容,如无状态组件。我们将在第19章中研究 COM+在事务管理中充当的角色。C O M +减轻了这些负担,提供了一个一般性的基础结构来支持许多不同类型的预写服务, 使组件可透明使用。不用更改一条代码就可使用它们中的一部分。 1. COM+的补救措施 C O M +是通过下面的机制来弥补这两点的不足。 (1) COM+提供服务 首先,C O M +提供一系列的服务,例如对象缓冲池,可在 C O M +应用程序中使用,不用编 写任何代码就可实现这些服务,这意味着不需要调试和检测,也不用担心前面讨论的任何其 他问题。简单地配置组件,通过 Component Services Explorer就可使用请求的服务。我们把那 些使用C O M +服务的组件称为“配置的组件”,通过Component Services Explorer构建的C O M + 应用程序就是使用这种类型的组件。 (2) COM+提供了组件/服务之间的透明交互 第二,C O M +提供一个基础结构,这意味可以在不改变任何代码的情况下自动地利用这 些服务的优点,因此 A S P脚本和其他语言 (如V B ),能够屏蔽C O M +运行期,可以在代码没有 重大改变的情况下使用这些服务。 A S P脚本或组件使用这些服务不需要重新编译或修改,在 C O M +运行期中也不需要调用低层次的 C/C++ API函数。不像C O M,大多数C O M +都是通过 C O M接口使用的。 一些C O M +服务对编程增加了一些规则,需要稍稍修改代码,才能使组件充分使用它们。 正如讨论过的,一些服务 (如对象缓冲池)当前在一些编程语言中是不可用的,这主要是由于这 些语言与C O M +服务的额外要求之间存在着内在的不兼容性问题,然而,目前微软正在改进 这些服务使之能够用于其他的语言。 本章讨论的是COM+ 1.0。COM+ 2.0许诺增加更多的服务。 2. 对象缓冲池 C O M +会管理所有的代码,根据请求实现一个服务 (如缓冲池)。这意味着代码仅需如通常 一样创建和释放一个 C O M对象;在后台, C O M +将使用拦截来实现缓冲池。 C O M +确保在创 建一个新的对象之前检测缓冲池,试图使用缓冲池中存在的对象;不再使用时,把对象放到 缓冲池中,实现缓冲池的代码不必插入应用程序中,因为在组件中插入服务是透明完成的。 V B没有缓冲池 C O M +提供了一个强大的通用框架,可提高 We b应用程序性能,而不必改变任何代码。通 过Component Services Explorer来选择组件所使用的服务,不需要重新编译这些组件。若管理 员要增加组件安全性,只让特定的用户能够调用特定的方法,仅需使用组件服务,不需改变 代码。不必担心所有可能使用此组件的应用程序的安全要求。我们把话题转回到 C O M +。 在幕后,C O M +运行期确保已经为组件配置好的服务通过拦截被加入及使用。 我们已经指出在C O M +中“拦截”这个词是非常重要的。 不好的方面是,不是所有的服务能被那些用 V B编写的组件所使用。大部分能,但缓冲池 是一种不能使用的服务。原因将在后面讲述,但假如想使用特殊的服务,必须用 C + +编写自 己的组件(在1 7章中讨论)。已经有大量的服务可供选择,如事务支持和安全性。但为了充分利 用这些服务,应该理解我们所讨论的相关内容,如无状态组件。我们将在第 1 9章中研究 C O M +在事务管理中充当的角色。 460计计ASP 3 高级编程 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有