<PreferComInsteadOfManagedRemoting> 元素
指定執行階段是否將使用 COM Interop,而不是對跨應用程式網域界限的所有呼叫使用遠端處理。
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting>
Syntax
<PreferComInsteadOfManagedRemoting enabled="true|false"/>
屬性和項目
下列章節說明屬性、子元素和父元素。
屬性
屬性 | 描述 |
---|---|
enabled |
必要屬性。 指出執行階段是否將使用 COM Interop,而不是跨應用程式網域界限使用遠端處理。 |
啟用屬性
值 | 描述 |
---|---|
false |
執行階段會跨應用程式定義域界限使用遠端處理。 此為預設值。 |
true |
執行階段會跨應用程式定義域界限使用 COM Interop。 |
子元素
無。
父項目
元素 | Description |
---|---|
configuration |
通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。 |
runtime |
包含有關組件繫結和記憶體回收的資訊。 |
備註
將 enabled
屬性設定為 true
時,執行階段的行為如下:
當 IUnknown 介面透過 COM 介面進入網域時,執行階段不會為 IManagedObject 介面呼叫 IUnknown::QueryInterface。 相反地,它會在物件周圍建構執行階段可呼叫包裝函式 (RCW)。
當執行階段收到已在此網域中建立之任何 COM 可呼叫包裝函式 (CCW) 的 IManagedObject 介面
QueryInterface
呼叫時,執行階段會傳回 E_NOINTERFACE。
這兩種行為可確保跨應用程式定義域界限的受控物件之間的 COM 介面呼叫都會使用 COM 和 COM Interop,而不是遠端處理。
範例
下列範例示範如何指定執行階段應該跨隔離界限使用 COM Interop:
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting enabled="true"/>
</runtime>
</configuration>