WCFサーバーとクライアントの接続に問題があります。
サービスとクライアントを通常どおりに使用する場合、つまり、クライアントが通常の操作(myclient.Close())を介して接続および切断する場合、すべてが正常に機能します。しかし、サーバーを実行していて、Visual Studioの[停止]ボタンを使用してクライアントアプリケーションを終了した場合、サーバーとクライアントの通信が混乱しているように見え、サーバーは接続と新しい接続を正しくクリーンアップしません。私のクライアントからの送信は非常に不安定で、1つの関数が次の例外をスローするまで、特定の関数呼び出しのみが機能します。
System.ServiceModel.CommunicationException:http:// localhost:8080 / Design_Time_Addresses / Service_Beta1/ServiceへのHTTP応答の受信中にエラーが発生しました。これは、HTTPプロトコルを使用していないサービスエンドポイントバインディングが原因である可能性があります。これは、サーバーによってHTTP要求コンテキストが中止されたことが原因である可能性もあります(おそらくサービスのシャットダウンが原因です)。詳細については、サーバーログを参照してください。---> System.Net.WebException:基になる接続が閉じられました:受信時に予期しないエラーが発生しました。
そしてその後の多くの他の例外、そして私はあなたがそれらを読むのを惜しまないでしょう。
サーバーとクライアントをシャットダウンして両方を再起動すると、Visual Studioで大幅な「停止」を実行するまで、すべての呼び出しが正常に機能します。サーバーに不適切に閉じられた接続をクリーンアップさせるにはどうすればよいですか?本番環境では「停止」ボタンがなくなっており、理論的には問題はないはずですが、クライアントのクラッシュや接続不良によるサーバー接続の問題は発生したくありません。必然的にそういう場合があるからです。20以上のクライアントが接続を試みて例外を取得する前に、今すぐこれを修正することをお勧めします。
ありがとう