1

Michele Bustamante によるLearning WCFには、 NetNamedPipesバインディングと呼ばれるバインディングについて説明するセクションがあります。この本によると、このバインドは、同じマシンから排他的に呼び出される WCF サービスにのみ使用できます。

どのような状況でこれを使用するのが理にかなっていますか? 通常、私は WCF を使用せずに非同期コードを記述します... なぜ Microsoft は同じマシンでしか実行できない WCF 用のものを提供するのでしょうか?

4

2 に答える 2

4

別の方向から見てください。サービスが構築されると、さまざまなバインド構成で実行できます。リモート マシンの場合は、HTTP または TCP バインディングを使用できます。または、サービスがたまたま同じボックスで実行されていた場合、これらのオプションに加えて名前付きパイプ オプションがあります。名前付きパイプは、ローカルで実行している場合に備えて提供される別のオプションですが、リモートで実行している場合は別のバインディングに切り替えることができるはずです。

Yu は、トラフィックが少ないため同じボックスですべてを開始し、サービスへの最短パスである名前付きパイプを使用できます。次に、負荷が要求した場合は、サービスを別のボックスに移動してから、代わりに TCP または HTTP を使用するように変更できます。

于 2010-05-25T20:46:20.003 に答える
2

おそらく、NetNamedPipe エンドポイントのみを公開するサービスはありません。これはあまり意味がありません。しかし、サーバー上で WCF サービスを実行し、通常のバインディングを使用してサービス エンドポイントを外部に公開し、同じマシン上で実行する管理コンソールや管理コンソールなどを必要とする場合は、 NetNamedPipe バインディングが最速であるためです。

私が学んだもう 1 つの考えられるシナリオは、エラー コレクション サービスを使用することです。発生したエラーまたは例外はすべてサービスに送信され、ログに記録されます。繰り返しますが、そのサービスはおそらくいくつかのタイプのエンドポイントを公開しますが、同じサーバーで他のサービスを実行している場合、NetNamedPipe バインディングを使用してこれら 2 つのサービスを接続することは非常に理にかなっています。

WCF 時代に NetNamedPipe バインディングをあまり使用しないと思いますが、場合によっては間違いなく意味があり、そのような特殊なシナリオでは非常に役立ちます。

于 2010-05-25T20:44:32.927 に答える