注册服务组件

服务组件由 COM+ 应用程序承载,且必须对该应用程序是可访问的。为了便于访问,服务组件有以下注册和配置要求:

  • 程序集必须具有强名称。有关其他信息,请参阅使用强名称为程序集签名

  • 程序集必须在 Windows 注册表中注册。

  • 类型库定义必须注册并安装到特定的 COM+ 应用程序中。

  • 必须在 COM+ 目录中配置以编程方式添加的服务。

对服务组件有用的注册信息包括以下内容:

  • COM+ 应用程序标识

  • 激活类型

  • 说明信息

COM+ 应用程序标识

可以使用名称或 GUID 标识现有的 COM+ 目标应用程序。.NET 服务安装工具 (Regsvcs.exe) 提供 /appname:选项,用于指定应用程序名称。

有关如何指定应用程序名称的信息,请参阅如何:使用 ApplicationName 属性设置应用程序名称

如果将 ApplicationID 属性(或 Guid 属性)应用于程序集,则所有应用程序搜索都基于该 GUID,而不基于应用程序名称。

有关如何指定应用程序 ID 的信息,请参阅如何:将 ApplicationID 属性应用于程序集

Note注意:

对于动态注册,指定目标应用程序的唯一方法是在设计时应用 ApplicationNameAttribute、ApplicationIDAttribute 或 GuidAttribute 属性。.NET 服务安装工具 (Regsvcs.exe) 提供了 /appname:开关,用于在编译时指定应用程序名称或 GUID。Regsvcs.exe 还提供 /parname:开关,用于标识特定的 COM+ 分区。COM+ 分区服务仅在 Windows Server 2003 平台上可用。

如果无法识别或找不到目标应用程序,则注册机制使用程序集的全名(不包括版本号)创建应用程序。

Caution note警告:

不要在 COM+ 分区服务中使用 ApplicationIDAttribute 属性。如果使用 COM+ 分区服务,则应用 ApplicationIDAttribute 属性会阻止分区配置。COM+ 分区服务仅在 Windows Server 2003 平台上可用。

激活类型

激活类型确定在哪个进程中创建服务组件。可以将 ApplicationActivationAttribute 属性应用于程序集以指定激活类型。ApplicationActivationAttribute 属性必须使用以下两个枚举值之一声明:

  • ActivationOption.Library:指定 COM+ 库应用程序;程序集中的服务组件在调用方的进程中激活。

  • ActivationOption.Server:指定 COM+ 服务器应用程序;程序集中的服务组件在系统提供的新进程中激活。

Note注意:

有关如何设置应用程序激活类型的信息,请参阅如何:设置应用程序的激活类型

Note注意:

如果 ApplicationActivationAttribute 属性设置为 ActivationOption.Server,那么要想使用服务器应用程序,必须用 Windows Installer 将程序集及其所依赖的所有程序集添加到全局程序集缓存 (GAC) 中;否则,该应用程序将生成异常。此外,如果 ApplicationActivationAttribute 属性设置为 ApplicationOption.Server,则服务组件的所有参数都必须标记为 System.Serializable 或派生自 System.MarshalByRefObject 类。否则,应用程序将生成异常。

说明信息

说明是可选的,但有时对于区分类似的程序集很有用。

有关如何设置应用程序激活类型的信息,请参阅如何:将 ApplicationID 属性应用于程序集

本节中的下列主题描述用于部署使用 COM+ 服务的应用程序的注册机制:

两种注册机制都是通过组合注册服务组件所要求的步骤来简化注册进程。这两种注册机制都要求组件用户是 Administrator 组的成员。对于动态注册,可以在设计时提供注册信息,某些注册信息在编译时提供。对于手动注册,可以在设计时、编译时和注册时提供此信息。如果省略注册信息,注册进程会通过元数据生成该信息。注册进程会进行检测,有时还纠正不兼容的属性组合。

请参见

任务

如何:创建服务组件

参考

ApplicationNameAttribute
ApplicationIDAttribute
GuidAttribute
ApplicationActivationAttribute
DescriptionAttribute
System.EnterpriseServices Namespace

概念

服务组件概述
应用属性以配置 COM+ 服务
服务组件示例
可用的 COM+ 服务摘要

其他资源

编写服务组件
Extending Metadata Using Attributes

Footer image

版权所有 (C) 2007 Microsoft Corporation。保留所有权利。