|
下面介绍COM+的应用:在.NET中使用COM+服务的组件就叫做.NET服务组件,跟一般的组件不同,区别在于前者使用了COM+服务。使用.NET服务组件的目的也就是为了可以访问COM+服务的一些基类,如ServicedComponent和自动事务处理,JIT,对象池和安全性等方面。 在使用.NET服务组件之前必须注册服务组件,注册COM+服务组件有3种方式: 通过RegSvcs命令行工具来注册,步骤如下: 首先,选择“开始”/“所有程序”/“Microsoft .NET Framework SDK v2.0”/“SDK命令提示。 选择“SDK命令提示符”,用来手的注册COM+服务组件。 |
其次,在弹出的“SDK命令提示”窗口中使用RegSvcs命令行工具来注册,将产生一个yourcomponent.tlb类型库,包含了对象的类型信息。如: 注意:在使用该命令前必须先注册一个yourcomponent的强名称。 最后,选择“控制面板”/“管理工具”/“组件服务器”来查看COM+组件是否添加到服务器上。 编程注册 使用RegistrationHelper类,主要是利用在IregistrationHelper接口中的方法,如下表所示。 表 IregistrationHelper接口中的方法 方法名称 | 说明 | InstallAssembly | 将程序集安装到 COM+ 目录中。 | UninstallAssembly | 从 COM+ 目录卸载程序集。 |
下面对这两个方法进行详细介绍。 (1)IRegistrationHelper.InstallAssembly方法 语法: void InstallAssembly ( [InAttribute] string assembly, [InAttribute] out string application, [InAttribute] out string tlb, [InAttribute] InstallationFlags installFlags ) |
参数: assembly:作为文件的程序集名称或者全局程序集缓存(GAC)中的程序集的强名称。 application:应用程序参数可以是空引用(在Visual Basic中为Nothing)。如果确实是该设置,则基于程序集的名称或ApplicationName属性自动生成应用程序的名称。如果应用程序包含ApplicationID属性,则此属性优先。 tlb:输出类型库(TLB)文件的名称;如果应由注册帮助器生成该名称,则为包含空引用(在Visual Basic中为Nothing)的字符串。在调用完成后,所用的实际名称将放置在该参数中。 installFlags:在枚举中指定的安装选项。 (2)IRegistrationHelper.UninstallAssembly方法 语法: void UninstallAssembly ( [InAttribute] string assembly, [InAttribute] string application ) |
参数: assembly:作为文件的程序集名称或者全局程序集缓存(GAC)中的程序集的强名称。 application COM+应用程序的名称。 在执行应用程序过程中,检查安装组件的版本,如组件的正确版本没有安装,则在运行时自动安装需要的版本,即自动注册。 注意:调用自动注册的用户必须是Window 2000管理组中的一个成员,因为动态注册无法改变COM+目录,否则注册过程失败。 |