<PreferComInsteadOfManagedRemoting>-Element
Gibt an, ob die Runtime COM-Interop anstelle von anwendungsdomänenübergreifendem Remoting für alle Aufrufe verwendet.
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting>
Syntax
<PreferComInsteadOfManagedRemoting enabled="true|false"/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
attribute | Beschreibung |
---|---|
enabled |
Erforderliches Attribut. Zeigt an, ob die Runtime COM-Interop anstelle von anwendungsdomänenübergreifendem Remoting verwendet. |
Enabled-Attribut
Wert | BESCHREIBUNG |
---|---|
false |
Die Runtime verwendet anwendungsdomänenübergreifendes Remoting. Dies ist die Standardoption. |
true |
Die Runtime verwendet anwendungsdomänenübergreifende COM-Interop. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
configuration |
Das Stammelement in jeder von den Common Language Runtime- und .NET Framework-Anwendungen verwendeten Konfigurationsdatei. |
runtime |
Enthält Informationen über die Assemblybindung und die Garbage Collection. |
Bemerkungen
Wenn Sie das enabled
-Attribut auf true
festlegen, verhält sich die Runtime wie folgt:
Die Runtime ruft IUnknown::QueryInterface nicht für eine IManagedObject-Schnittstelle auf, wenn eine IUnknown-Schnittstelle über eine COM-Schnittstelle in die Domäne eintritt. Stattdessen erstellt sie einen Runtime Callable Wrapper (RCW) um das Objekt.
Die Runtime gibt E_NOINTERFACE zurück, wenn sie einen
QueryInterface
-Aufruf für eine IManagedObject-Schnittstelle für einen Com Callable Wrapper (CCW) empfängt, der in dieser Domäne erstellt wurde.
Diese beiden Verhaltensweisen stellen sicher, dass alle Aufrufe über COM-Schnittstellen zwischen verwalteten Objekten über Anwendungsdomänengrenzen hinweg COM und COM-Interop anstelle von Remoting verwenden.
Beispiel
Das folgende Beispiel zeigt, wie Sie angeben, dass die Runtime COM-Interop über Isolationsgrenzen hinweg verwenden soll:
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting enabled="true"/>
</runtime>
</configuration>