2016-07-18 17 views
0

現在、Windowsサービスと.NET 3.5をターゲットとした別個のGUIクライアントがあり、これらの2つのプロセス間で双方向通信を行う最良の方法を探しています。両方のプロセスが同じWindowsマシン上で実行されます。WindowsサービスのIPCメソッド

Microsoftプロセス間通信pageは、RPC、パイプまたはソケットこの特定の状況のシナリオを使用することを示唆しているようです。

私は、名前付きパイプは私の要件を満たすと思われるが、周りを見回して私はまた.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のNamed Pipesは通信メカニズムであり、WCF(TCP、HTTP、MSMQなども可能)で使用できます。双方向性はどういう意味ですか? – leetibbett

+0

双方向では、サービスとGUIプロセスの両方がデータを送受信できる必要があります。 –

答えて

1

WCFは、.NET Remotingと以前の(現在は従来の)ASMX Webサービスの両方を置き換えました。 WCF NetNamedPipeバインディングはデュプレックス(つまり、双方向通信をサポート)であり、クライアント(GUIアプリケーション)とWindowsサービスが同じマシン上にあるので、名前付きパイプが理想的です。

ただし、WCFを使用するには、WCFサービスを作成し、Windowsサービスを使用してホストし、GUIアプリケーションをクライアントとして使用する必要があります。これはまったく可能なことであり、WCFサービスをWindowsサービスでホストする方法の多くの例がWeb上にあります。

関連する問題