COM+ 对象构造函数字符串概念

COM+ 对象构造函数字符串是以管理方式为组件指定的初始化字符串。 可以使用对象构造函数字符串编写具有一定程度的通用性的单个组件,以便以后针对特定任务自定义该组件;也就是说,可以执行参数化对象构造。

例如,可以使用此功能编写一个包含通用 ODBC 连接的组件,稍后为组件管理指定确切的 DSN。 如果系统配置发生更改,可以相应地更改构造函数字符串。

注意

不能使用对象构造函数字符串来存储安全敏感信息。

 

可以将对象构造函数字符串与对象池结合使用,以提高池和重用资源的精细度。 例如,可以创建多个不同组件(构造函数字符串和 CLSID 除外)来维护保持不同客户端组使用的连接的不同对象池。 如果以将连接绑定到特定安全角色的方式打开连接(例如,在数据库中使用某些特定身份验证打开连接时),这会很有用,一般情况下这些连接呈现为不可重用。

为此,可以使用 IObjectConstruct 编写依赖于对象构造函数字符串的单个通用组件,并对其进行重新编译,以生成多个可自定义的组件,每个组件都有不同的 CLSID。 然后,可以管理方式定制每个组件,以打开适合构造函数字符串的连接,将其配置为共用,并且每个 CLSID 将在不同的池中维护它们。

在专门编写组件以识别输入的字符串时,可以指定构造函数字符串。 组件可以使用 IObjectConstruct 以编程方式访问这些字符串。

仅在以管理方式启用对象构造时,才会在对象创建时传入构造函数字符串。 COM+ 调用其实现的 IObjectConstruct::Construct 方法。 在该方法中,可以使用 IObjectConstructString 访问构造函数字符串。 空字符串可以是有效的项。

COM+ 对象池

为组件指定对象构造函数字符串

使用对象构造函数字符串构造组件