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