Elemento <PreferComInsteadOfManagedRemoting>
Especifica se o runtime usará a interoperabilidade COM em vez de comunicação remota para todas as chamadas entre limites de domínio de aplicativo.
<configuração>
<runtime>
<PreferComInsteadOfManagedRemoting>
Syntax
<PreferComInsteadOfManagedRemoting enabled="true|false"/>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
enabled |
Atributo obrigatório. Indica se o runtime usará a interoperabilidade COM em vez de comunicação remota entre limites de domínio de aplicativo. |
Atributo habilitado
Valor | Descrição |
---|---|
false |
O runtime usará a comunicação remota nos limites de domínio do aplicativo. Esse é o padrão. |
true |
O runtime usará a interoperabilidade COM nos limites de domínio do aplicativo. |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
configuration |
O elemento raiz em cada arquivo de configuração usado pelos aplicativos do Common Language Runtime e .NET Framework. |
runtime |
Contém informações sobre associação do assembly e coleta de lixo. |
Comentários
Quando você define o atributo enabled
como true
, o runtime se comporta da seguinte maneira:
O runtime não chama IUnknown::QueryInterface para uma interface IManagedObject quando uma interface IUnknown entra no domínio por meio de uma interface COM. Em vez disso, ele constrói um Runtime Callable Wrapper (RCW) ao redor do objeto.
O runtime retorna E_NOINTERFACE quando recebe uma chamada para uma
QueryInterface
interface IManagedObject para qualquer COM Callable Wrapper (CCW) que tenha sido criado neste domínio.
Esses dois comportamentos garantem que todas as chamadas por interfaces COM entre objetos gerenciados em limites de domínio do aplicativo usem COM e interoperabilidade COM em vez de comunicação remota.
Exemplo
O exemplo a seguir mostra como especificar que o runtime use a interoperabilidade COM entre limites de isolamento:
<configuration>
<runtime>
<PreferComInsteadOfManagedRemoting enabled="true"/>
</runtime>
</configuration>