正常に動作する wcf サービスがあります。問題はクライアントです。ユーザーが wcf サービスが配置されている場所の IP アドレスを配置することになっている小さな GUI があります。クライアントとサービスの両方が同じネットワーク上にあるため、接続できない場合は、間違った IP アドレスを指定したか、ファイアウォールがブロックされていることが原因です。とにかく、ユーザーが間違ったIPを入力した場合に20秒ほど待つ必要がないように、その時間を短縮するにはどうすればよいですか? 私のapp.configファイルが私のクライアントをどのように探すかは次のとおりです。
クライアントの app.config ファイルは次のようになります。
<client>
<endpoint address="net.tcp://127.0.0.1:41236/" binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IService1" contract="ServiceReference1.IService1"
name="NetTcpBinding_IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
編集
app.config ファイルを次のように更新しました。
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IService1" sendTimeout="00:00:02" receiveTimeout="00:00:02">
<security mode="Transport" />
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://10.10.1.154:41236/"
binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IService1"
contract="ServiceReference1.IService1"
name="NetTcpBinding_IService1">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
意図的に存在しないIPアドレスを配置していることに注意してください。何らかの理由で、プログラムはまだ10秒ほど待機しています...sendTimeout="00:00:02" receiveTimeout="00:00:02"
属性を追加しましたが、まだ機能しませんでした:(
編集 2
これが私が得るエラーメッセージです:
net.tcp://10.10.1.154:41236/ に接続できませんでした。接続の試行は、00:00:21.0342031 の期間継続しました。TCP エラー コード 10060: 接続先が一定時間後に適切に応答しなかったために接続試行が失敗したか、接続されたホストが 10.10.1.154:41236 に応答しなかったために確立された接続が失敗しました。
21秒間接続を試みたことに注意してください...接続できないことはわかっていましたが、その時間を短縮できればいいと思います. このプログラムを同じネットワーク上で使用する予定です...