<PreferComInsteadOfManagedRemoting> 元素
指定运行时是否对跨应用程序域边界的所有调用使用 COM 互操作而不是远程处理。
configuration
runtime
<PreferComInsteadOfManagedRemoting>
语法
<PreferComInsteadOfManagedRemoting enabled="true|false"/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 描述 |
---|---|
enabled |
必需的特性。 指示运行时是否将使用 COM 互操作来代替跨应用程序域边界的远程处理。 |
enabled 特性
值 | 说明 |
---|---|
false |
运行时将使用跨应用程序域边界的远程处理。 这是默认值。 |
true |
运行时将使用跨应用程序域边界的 COM 互操作。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
configuration |
公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中的根元素。 |
runtime |
包含有关程序集绑定和垃圾回收的信息。 |
注解
将 enabled
属性设置为 true
时,运行时的行为如下所示:
当 IUnknown 接口通过 COM 接口进入域时,运行时不会对 IManagedObject 接口调用 IUnknown::QueryInterface。 相反,它围绕该对象构造一个运行时可调用包装器 (RCW)。
当运行时收到对在此域中创建的任何 COM 可调用包装器 (CCW) 的 IManagedObject 接口的
QueryInterface
调用时,它返回 E_NOINTERFACE。
这两种行为可确保通过跨应用程序域边界的托管对象之间的 COM 接口进行的所有调用都使用 COM 和 COM 互操作,而不是远程处理。
示例
以下示例演示如何指定运行时应跨隔离边界使用 COM 互操作:
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting enabled="true"/>
</runtime>
</configuration>