Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Este artigo é específico para .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.
O disconnectedContext MDA (assistente de depuração gerenciada) é ativado quando o CLR tenta fazer a transição para um apartamento ou contexto desconectado enquanto atende a uma solicitação relativa a um objeto COM.
Symptoms
As chamadas feitas em um RCW ( Runtime Callable Wrapper ) são entregues ao componente COM subjacente no apartamento ou contexto atual, em vez daquela em que elas existem. Isso poderá causar corrupção e ou perda de dados se o componente COM não for multithreaded, como no caso de componentes STA (apartamento de thread único). Como alternativa, se o RCW for em si um proxy, a chamada poderá resultar no lançamento de um COMException com um HRESULT de RPC_E_WRONG_THREAD.
Cause
O apartamento ou contexto OLE foi desligado quando o CLR tenta fazer a transição para ele. Isso geralmente é causado por apartamentos STA serem desligados antes de todos os componentes COM pertencentes ao apartamento serem completamente liberados Isso pode ocorrer como resultado de uma chamada explícita do código do usuário em um RCW ou enquanto o próprio CLR está manipulando o componente COM, por exemplo, quando o CLR está liberando o componente COM quando o RCW associado foi coletado.
Resolução
Para evitar esse problema, verifique se o thread que possui o STA não é encerrado antes que o aplicativo tenha terminado com todos os objetos que residem no apartamento. O mesmo se aplica a contextos; verifique se os contextos não são desligados antes que o aplicativo seja completamente concluído com todos os componentes COM que residem dentro do contexto.
Efeito no Runtime
Esse MDA não tem nenhum efeito sobre o CLR. Ele relata apenas dados sobre o contexto desconectado.
Saída
Relata o cookie de contexto do apartamento ou contexto desconectado.
Configuração
<mdaConfig>
<assistants>
<disconnectedContext />
</assistants>
</mdaConfig>