Pergunta

São necessárias pelo menos 7 montagens e restringindo o modelo de dados do meu addin aos tipos de dados com os quais o remoto pode lidar antes que os recursos de isolamento do AppDomain comecem a funcionar. É tão complexo! O blog System.Addin Teams implica para mim que estavam tentando recriar um modelo mental de COM, um modelo que eu nunca entendi muito bem em primeiro lugar e não sou vendido pelos benefícios. (Se com é tão bom, por que está morto?--Pergunta. Um novo AppDomain?

Eu posso escrever o código da descoberta, eu já fiz isso antes e uma implementação ingênua é muito rápida, porque não estou como iterando os conjuntos no GAC!

Portanto, minha pergunta específica é: posso obter o isolamento do AppDomain que os Addins fornecem com alguns trechos de código remoto e qual seriam esses?

Foi útil?

Solução

Não tenho certeza de que qualquer resposta para sua pergunta atenda aos termos do site - não há solução.

Sim, o remoto é mais fácil, pois é feito para você. No entanto, é altamente controlado e, como você identificou, requer um pouco de trabalho para colher tudo juntos. O arquivo de cache lançado pelo processo de descoberta dificilmente é bem -vindo.

System.addin se destaca em isolamento, o que é realmente um pouco de bunda para montar do zero de uma maneira robusta e flexível. Ele suporta hospedagem cruzada e passagem bastante simples dos elementos WPF do usuário de um domínio para outro.

Uma coisa a lembrar, no entanto, é que o público -alvo da MAF não é aqueles que estão tentando conectar dois aplicativos. Ele está direcionado aos desenvolvedores que desejam sistemas flugable, porém seguros (hospedagem cruzada protege o aplicativo raiz de exceções não tratadas, os appdomains permitem a execução do código potencialmente estrangeiro com segurança definida). Na maioria das comunicações, dirija -se direto para o System.Runtime.Remoting ou WCF.

Se você quiser continuar com o System.addin, considere o Plugin do construtor de pipeline Para Visual Studio!

Em conclusão - você pode obter o isolamento do sistema. Estou tentando replicá -lo e tropeçando em todo o componente de interface remota - algo System.Addin faz sem problemas.

Outras dicas

Depois de mexer com o System.Add por um bom tempo, estou convencido de que ele foi adicionado como uma solução de finalidade especial única para o uso da Microsoft. Estou surpreso que tenha sido elevada a uma parte central da estrutura .NET. Não parece ter o refinamento e o polonês necessários para um componente geral do .NET Framework.

Eu gostaria de encontrar uma maneira alternativa de criar suplementos gerenciados .NET que não requer muito esforço.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top