wcfサービスでwsDualBindingを使用して、ソフトウェアで双方向通信を処理しています。メソッドを呼び出して顧客リストを取得する場合を除いて、すべてが正常に機能しているようです。サービスでクエリの結果を2730レコードに制限すると、約1〜2秒で結果を取得し、データグリッドに表示できます。結果を2731(もう1つ)に制限すると、次のエラーが発生します。
http:// localhost:8731 / Design_Time_Addresses / Dispatch_Studio_Server / DispatchService /は、構成されたタイムアウト(00:00:59.9990000)内に応答を受信しませんでした。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。これは、サービスがまだ操作を処理しているためか、サービスが応答メッセージを送信できなかったためである可能性があります。(チャネル/プロキシをIContextChannelにキャストし、OperationTimeoutプロパティを設定することにより)操作タイムアウトを増やすことを検討し、サービスがクライアントに接続できることを確認してください。
私の調査では、大規模なデータセットにはストリーミングの方が適していることを読みました。そのため、バッファリングの代わりにストリーミングを使用してbasicHttpBindingエンドポイントを設定しようとしましたが、基本的に同じ結果が得られます。2730レコードは正常に機能しますが、2731レコードでは次のエラーが発生します。
HTTPチャネルを介してデータを送信しているときに、エラー(トランスポート接続からデータを読み取れません:接続が閉じられました。)が発生しました。
2730レコードを大きなデータセットと正確に呼ぶことはしません。これは、この問題を引き起こしている他の何かがあると私に信じさせます。
これが私のクライアント構成です:
<system.serviceModel>
これが私のサーバー構成です:
<system.serviceModel>
ご覧のとおり、この問題を解決するためにmaxMessageReceivedSizeおよびその他の設定を変更しようとしましたが、役に立ちませんでした。
御時間ありがとうございます。