負荷条件下でこのエラーが発生する WCF サービスがあります (それ以外の場合はエラーを再現できないようです)。私たちは、そのような運がないので、約1週間それを回避する方法を見つけようとしています..
表示されるエラーには 2 つの部分があります。
System.ServiceModel.CommunicationException: エラー: (要求は中止されました: 要求は取り消されました。) http チャネル経由でデータを送信中に発生しました。
と:
System.Net.WebException: 要求は中止されました: 要求はキャンセルされました。
Reference.cs
ファイル内のメソッドをオーバーロードして を設定することでキープアライブの使用を無効にすることを多くの人が提案しているのを見てきましたがKeepAlive = false
、クライアント側は (Web 参照に加えて) サービス参照を使用しており、このオプションはもう存在しません。
私が見た別のオプションは、BasicHttpBinding
現在使用しているのではなく、サービスにカスタム Binding を追加することでしたが、これは、webReference を使用していた人への webservice の後方サポートを煩わしくします ( CustomBinding
SOAP が有効になっていないため)。
以前にこのエラーに対処した人はいますか? サーバー側に影響を与えずに WCF でキープアライブを無効にする方法はありますか? このエラーを引き起こすことが知られている他のものはありますか?