disconnectedContext MDA
The disconnectedContext gerenciado Assistente de depuração (MDA) é ativado quando o CLR tenta transição em um apartment desconectado ou contexto ao mesmo tempo, atendendo a uma solicitação relacionadas a um objeto COM.
Sintomas
Chamadas feitas em um O Tempo de execução Callable Wrapper (RCW) são entregues para o componente COM base na corrente apartment ou contexto em vez de um em que elas existem. Isso pode causar corrupção e ou perda de dados se o componente COM não é multithreaded, sistema autônomo no caso dos componentes de single-threaded apartment (STA).Como alternativa, se o RCW é um proxy, a telefonar pode resultar em lançamento de um COMException com um HRESULT de RPC_E_WRONG_THREAD.
Causa
OLE apartment ou contexto foi desligar quando o CLR tenta transição nela.Isso é causado por STA apartments com mais freqüência que está sendo desligar antes de todos sistema autônomo componentes COM pertencentes a apartment completamente lançados, isso pode ocorrer sistema autônomo resultado de uma telefonar 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á lançando o componente COM quando o RCW associado tiver sido coletados pelo lixo.
Resolução
Para evitar esse problema, certifique-se o segmento que possui o STA não encerra antes do aplicativo terminar com todos os objetos que residem no apartment.O mesmo se aplica aos contextos; Verifique se contextos não são encerrados antes que o aplicativo seja totalmente concluído com quaisquer componentes COM que residem dentro do contexto.
Efeito sobre o tempo de execução
Este MDA não tem efeito sobre o CLR.Ele só reporta dados sobre o contexto desconectado.
Saída
Relata o cookie de contexto do desconectada apartment ou contexto.
Configuração
<mdaConfig>
<assistants>
<disconnectedContext enable="false" />
</assistants>
</mdaConfig>
Consulte também
Conceitos
Diagnosticar erros com assistentes de depuração gerenciadas
Visão geral do empacotamento interop