Compartilhando tipos entre appdomains
-
27-09-2019 - |
Pergunta
Atualmente, estou desenvolvendo um sistema de suplemento para um programa que estou escrevendo e encontrei a questão de como o host e o suplemento devem se comunicar em uma base comum. Eu uso o System.AddIn
Namespace (anteriormente chamado MAF) para descoberta, isolamento e ativação de suplementos.
Agora, como eu quero (preciso?) Adicionas existentes em aplicativos separados do host, existe o problema que os tipos não podem ser compartilhados entre os appdomains e, portanto, não entre o host e o suplemento. Entendo que existe algum suporte interno para o marechaling do tipo entre appdomains, mas não sabe nada sobre isso, nem se é apropriado.
Portanto, a pergunta é: o que posso fazer se quiser compartilhar o mesmo objeto (instância) entre o suplemento e o host em dois domínios de aplicativos separados? Talvez exista uma maneira mais sutil em torno desse problema?
Solução
Assim parece MarshalByRefObject
E algumas funções no objeto AppDomain fornece a base exatamente para o que eu quero. Caso fechado por enquanto, eu acho.