なぜ何かが機能するのか混乱しています。次のような wcf サービスを構成しています。
<services>
<service name="ClientCommand" behaviorConfiguration="SomeServiceBehavior">
<endpoint contract="IClientCommand" binding="netTcpBinding" BindingConfiguration="TcpPort" address="net.tcp://localhost:1304" />
</service>
</services>
BindingConfiguration と behaviorConfiguration は非常に単純で、いくつかのタイムアウトを構成するだけです。
私のexeでは、このようにホストを起動します。
_serverHost = new ServiceHost(type); // implementing IClientCommand
_serverHost.Open();
それはすべて非常にシンプルで機能します。別の PC からこのサービスを呼び出すことができます。ただし、別の問題 (tcp ソケットをリッスンする) を読んだ後、動作しないはずの印象を受けました。localhostにバインドしているので、実行中の PC の外部からサービスにアクセスできないようにする必要がありますか?
PCでnetstatを確認したところ、「127.0.0.1」ではなくIPアドレス「0.0.0.0」にバインドされ、別のPCから動作する理由が説明されました。
しかし、なぜlocalhostから「0.0.0.0」になるのかわかりませんか?