Pergunta

Eu tenho um aplicativo .NET 3.0 que precisa passar um inteiro para outro programa na mesma máquina. Eu estava usando um serviço WCF para fazer isso, mas funcionou em questões de direitos do usuário ao tentar hospeda o serviço na caixa local. Quaisquer pensamentos sobre como fazer isso woudld serão muito apreciados.

Obrigado,

Dave

Foi útil?

Solução

WCF ainda é o caminho a percorrer aqui.

Geralmente, para comunicação entre processos na mesma máquina, você usaria o canal pipe nomeado. Se você não estiver usando isso, eu sugiro que você e, em seguida, determinar o que o erro na hospedagem é.

Se ambos os programas têm laços de mensagens que estão sendo processados, e você está enviando um número inteiro, você poderia usar uma chamada para SendMessage através do P / camada Invoke bem, mas isso é só porque você está enviando dados que é igual ou menor do que o SendMessage irá permitir. mensagens maiores exigirá algo como WCF.

Outras dicas

Remoting é uma maneira para passar mensagens entre os programas.

Como você foi de hospedagem? Note-se que um programa não-admin usando http precisará de permissões para usar a porta (em http.sys). Esta é através de netsh (Vista) ou (IIRC) httpcfg (XP).

Consulte aqui , por exemplo.

WCF é o caminho a percorrer. Você deve usar NetNamedPipeBinding para garantir a mesma comunicação máquina.
Mais sobre WCFBindings https://msdn.microsoft.com /en-us/library/ms730879(v=vs.110).aspx

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