在组件服务中运行业务对象
重要
从 Windows 8 和 Windows Server 2012 开始,Windows 操作系统不再包含 RDS 服务器组件(有关更多详细信息,请参阅 Windows 8 和 Windows Server 2012 兼容性实用手册)。 Windows 的未来版本中将移除 RDS 客户端组件。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 RDS 的应用程序应迁移到 WCF 数据服务。
业务对象可以是可执行文件 (.exe) 或动态链接库 (.dll)。 用于运行业务对象的配置取决于对象是 .dll 还是 .exe 文件:
可以通过 DCOM 调用创建为 .exe 文件的业务对象。 如果这些业务对象通过 Internet Information Services (IIS) 使用,则它们会受到其他封送数据的约束,这会降低客户端性能。
创建为 .dll 文件的业务对象可以通过 IIS 使用,因此也可以通过 HTTP 使用。 它们也可以仅通过组件服务在 DCOM 上使用,或者如果你使用的是 Windows NT,还可以通过 Microsoft 事务服务器使用。 需要在 IIS 服务器计算机上注册业务对象 DLL 才能通过 IIS 访问它们。 有关如何将 DLL 配置为在 DCOM 上运行的信息,请参阅允许 DLL 在 DCOM 上运行一节。
注意
如果使用 GetObjectContext、SetComplete 和 SetAbort 作为组件服务组件实现中间层业务对象,则业务对象可以使用组件服务(或 MTS,如果使用 Windows NT)上下文对象跨多个客户端调用维护其状态。 DCOM 可以实现此方案,该方案通常在 Intranet 中受信任的客户端和服务器之间实现。 在本例中,客户端上的 RDS.DataSpace 对象和 CreateObject 方法替换为事务上下文对象和 CreateInstance 方法,这些对象和方法由 ITransactionContext 接口提供,并由组件服务实现。