2016-07-18 3 views
0

현재 .NET 3.5를 대상으로하는 Windows 서비스와 별도의 GUI 클라이언트가 있으며이 두 프로세스간에 양방향 통신을위한 최선의 방법을 찾으려고합니다. 두 프로세스 모두 동일한 Windows 시스템에서 실행됩니다.Windows 서비스 용 IPC 메서드

Microsoft 프로세스 간 통신 pageRPC, 파이프 또는 소켓을 사용하는 것이 좋습니다.

나는 명명 된 파이프은 내 요구 사항을 만족시키는 것 같지만 주변을 둘러 보니 .NET Remoting도 발생했습니다. .NET Remoting은 WCF에 from .NET 3.0으로 통합 된 것 같습니다. 내가 이해하는 바에 따르면, WCF는 between processes 통신에 '명명 된 파이프'를 사용하므로 .NET 리모팅과 '명명 된 파이프'가 어떻게 든 겹쳐 짐을 예상하고 있습니다.

누군가이 문제를 해결할 수 있습니까? 나는 명명 된 파이프, .NET Remoting 또는 WCF을 사용해야하는지 이해하고 싶습니다.

+0

[WCF] (https://msdn.microsoft.com/en-us/library/ms731082(v=vs.110).aspx) 및 .NET Remoting은 .NET Remoting이 근본적으로 이전 버전 인 것과 유사한 기술입니다 WCF의 명명 된 파이프는 통신 메커니즘이며 WCF에서 사용할 수 있습니다 (TCP, HTTP, MSMQ 등도 가능). 양방향으로 정확히 무엇을 의미합니까? – leetibbett

+0

양방향으로는 서비스와 GUI 프로세스 모두 데이터를 보내고받을 수 있어야합니다. –

답변

1

WCF는 .NET Remoting과 이전 (기존) ASMX 웹 서비스를 모두 대체했습니다. WCF NetNamedPipe 바인딩은 양방향 (즉, 양방향 통신 지원)이며 클라이언트 (GUI 응용 프로그램)와 Windows 서비스가 동일한 시스템에 있으므로 명명 된 파이프가 이상적입니다.

그러나 WCF를 사용하려면 WCF 서비스를 작성하고 Windows 서비스를 사용하여 GUI 응용 프로그램을 클라이언트로 사용해야합니다. 이것은 전적으로 가능하며 Windows 서비스에서 WCF 서비스를 호스팅하는 방법에 대한 웹의 예가 많이 있습니다.

관련 문제