Qual é o método de jejum para passar mensagens entre diferentes processos em C#?
-
18-09-2019 - |
Pergunta
Eu tenho um monte de addins carregados pela estrutura do Microsoft Addin, tudo em processos separados.
Os pacotes vêm de um lado (também um add), em seguida, envie -se para um controlador (também um add) que coordena o processo do pacote. O controlador envia o pacote para vários outros Addins, um por um, dependendo do conteúdo e do resultado recebido do último Addin.
Minha pergunta é: a camada de comunicação da estrutura Addin será o método jejum de fazer isso ou obterei melhor desempenho do WCF com tubos nomeados ou TCP líquido, ou algo completamente diferente?
Solução
Como em qualquer pergunta de desempenho: Não há substituto para seus próprios testes.
Se possível, não codifique a camada de comunicação e teste ambos para escolher o padrão.
Eu esperaria que o Net-TCP fosse mais rápido, pois os tubos nomeados têm camadas adicionais de abstração sobre os soquetes subjacentes, mas isso é um palpite. (Por outro lado, os tubos nomeados têm mais integração mais próxima com a autenticação do Windows.)