Pergunta

Eu usei IPC no código win32 há algum tempo.[Seções críticas, eventos e semáforos]

Como é o cenário no ambiente .NET?Existe algum tutorial explicando todas as opções disponíveis e quando usar e por quê?

Foi útil?

Solução

O material mais recente da Microsoft no IPC é Fundação de comunicação do Windows.Na verdade, não há nada de novo no nível inferior (tcp, upd, pipes nomeados, etc.). Mas o WCF simplifica muito o desenvolvimento do IPC.

Recurso útil:

e claro MSDN no WCF

Outras dicas

Além do óbvio (WCF), existe uma ligação ZeroMQ para C#/CLR que é muito boa:

http://www.zeromq.org/bindings:clr

Faz IPC orientado a mensagens, pub/sub e várias outras estratégias com muito menos código e configuração que o WCF.

Também é pelo menos uma ordem de magnitude mais rápida do que qualquer outra coisa e tem menos latência se você precisar de comunicações de baixa latência.

Com relação a semáforos, bloqueios, mutexes etc.Se você compartilhar comunicando-se em vez de comunicar-se compartilhando, terá muito menos problemas do que o paradigma tradicional.

Costumo usar pipes nomeados ou soquetes Unix (dependendo se estou visando MS.NET ou Mono - tenho uma classe que abstrai isso), pois é fácil de usar, portátil e me permite interoperar facilmente com código não gerenciado .Dito isto, se você estiver lidando apenas com código gerenciado, use WCF ou comunicação remota - o último se precisar de suporte Mono, já que o suporte WCF simplesmente ainda não existe.

Eu recomendaria usar arquivos mapeados na memória se você precisar usar no domínio da máquina e não na comunicação pela rede.Veja o link a seguir.

http://techmikael.blogspot.com/2010/02/blazing-fast-ipc-in-net-4-wcf-vs.html

Há também o .NET Remoting, que achei muito legal, mas acho que eles estão tornando-o obsoleto agora que têm o WCF.

Parece que você está interessado em técnicas de sincronização e não em comunicação.Se sim, você pode querer começar aqui, ou talvez isso mais visão geral concisa.

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