規定執行時是否會對所有跨應用域邊界的呼叫使用 COM 互通而非遠端通訊。
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting>
語法
<PreferComInsteadOfManagedRemoting enabled="true|false"/>
屬性和項目
下列章節說明屬性、子元素和父元素。
Attributes
| Attribute | Description |
|---|---|
enabled |
必要屬性。 表示執行時是否會使用 COM 互通,而非跨領域遠端存取。 |
啟用屬性
| 價值觀 | Description |
|---|---|
false |
執行時會使用跨應用域邊界的遠端存取。 這是預設值。 |
true |
執行時將利用跨領域邊界的 COM 互通。 |
子元素
沒有。
父項目
| 元素 | Description |
|---|---|
configuration |
通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。 |
runtime |
包含關於組裝裝訂與垃圾回收的資訊。 |
備註
當你將屬性 enabled 設為 true時,執行時的行為如下:
當 IUnknown 介面透過 COM 介面進入網域時,執行時不會呼叫 IUnknown::QueryInterface 來做 IManagedObject 介面。 取而代之的是,它會圍繞物件構建一個執行 時可呼叫包裝器 (RCW)。
執行時會回傳E_NOINTERFACE,當它收到
QueryInterface呼叫 IManagedObject 介面,針對該網域中已建立的任何 COM 可呼叫包裝器 (CCW)時。
這兩種行為確保所有跨領域邊界受管理物件間透過 COM 介面呼叫時,皆使用 COM 及 COM 互通,而非遠端通訊。
Example
以下範例說明如何指定執行時應跨隔離邊界使用 COM 互通性:
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting enabled="true"/>
</runtime>
</configuration>