한 프로그램에서 다른 프로그램으로 어떻게 메시지를 전달합니까?
문제
정수를 동일한 컴퓨터의 다른 프로그램으로 전달 해야하는 .NET 3.0 응용 프로그램이 있습니다. 이 작업을 수행하기 위해 WCF 서비스를 사용하고 있었지만 로컬 상자에서 서비스를 호스팅 할 때 사용자 권한 문제를 해결했습니다. 이 woudld를 달성하는 방법에 대한 모든 생각은 대단히 감사합니다.
감사,
데이브
해결책
WCF는 여전히 여기로가는 길입니다.
일반적으로 동일한 기계의 프로세스 간 통신의 경우 명명 된 파이프 채널을 사용합니다. 당신이 이것을 사용하지 않는다면, 나는 당신이 제안한 다음 호스팅의 오류가 무엇인지 결정합니다.
두 프로그램 모두 처리중인 메시지 루프가 있고 정수를 보내는 경우 P/Invoke 레이어를 통해 Call을 사용하여 SendMessage를 사용할 수 있지만, 이는 것과 동일하거나 작은 데이터를 전송하기 때문입니다. SendMessage가 허용합니다. 더 큰 메시지에는 WCF와 같은 것이 필요합니다.
다른 팁
.NET 리모 팅 프로그램간에 메시지를 전달하는 방법입니다.
어떻게 호스팅 했습니까? HTTP를 사용하는 비 아드 민 프로그램은 포트를 사용하는 데 권한이 필요합니다 (http.sys). 이것은 netsh (vista) 또는 (iirc) httpcfg (xp)를 통해입니다.
보다 여기, 예를 들어.
WCF 갈 길입니다. 당신은 사용해야합니다 netnamedpipebinding 동일한 기계 통신에서 보안.
WCFBindings에 대한 자세한 내용 https://msdn.microsoft.com/en-us/library/ms730879(v=vs.110).aspx