私はWCFサービスを持っています。私はWPFアプリケーションからこのサービスを呼び出しています。サービスが正常だったと言われるTimeoutException
ほとんどの場合、これらの呼び出しは正常に行われます。しかし、まれに、タイムアウト例外が発生して失敗します。
私はこのサービスに1日約20,000コールします。そして、このタイムアウトの例外(タイムアウトは1分に設定されています)で約80日失敗します。
しかし、サービスのログを調べると、すべてがうまくいったと報告されます。実際、それは本当に速かったと言います(1秒未満です)。ここで
は、サービス時間の一例である:
開始時間:2016-11-11 09:40:09.170
終了時間:2016-11-11 09:40:09.270
そして、タイムアウトがこのタイムスタンプを持っています
例外:2016-11-11 09:40:52.146
(これらのタイムスタンプの生成が同期していることを確認しました)
コールが終了して100ミリ秒で完了しますが、43秒後にクライアントがタイムアウトしたとします。
私は混乱しています。私は制御された環境でこのエラーを再現することはできません。だから私はエラーのログを見て残されています。
ここからどこに行くことができますか?サービスですべてがうまくいったと言われると、タイムアウト例外が発生するのはなぜですか?
更新:
それはここで、関連性がある場合、私は私のサービスを呼び出すために使用するコードは次のとおりです。
try
{
myResponse = await myService.Client.MyServiceCallAsync(serviceCallContract);
}
catch (Exception exception)
{
errorMessage = HandleFaults(exception, isPreview, orderedTests);
serviceCallFailed = true;
myResponse = null;
}
myService.Client
は、WSDLから生成されたサービスクライアントクラスのインスタンスであります。
あまりにも多くのhttpソケットが閉じられるのを待っていますか? – Hakunamatata