一部のレポートのデータベースからデータを取得するために、C#とLinq2SQLを使用しています。場合によっては、これには時間がかかります。30秒以上。これがデフォルトのようですCommandTimeout
。
だから、私はアップする必要があると思いCommandTimeout
ます。しかし、問題は、いくらですか?非常に高く設定するのは悪いですか?顧客が何かをしようとしていて、タイムアウトのためにレポートを取得できなかった平均的な顧客よりもデータベースに多くのデータがあるという理由だけで、それは悪いことではないでしょうか。しかし、どのくらいの時間がかかる可能性があるかをどうやって知ることができますか?無限大に設定する方法はありますか?それともそれは非常に悪いと考えられていますか?
そして、どこに設定すればよいですか?必要なときに新しいデータコンテキストを生成する静的データベースクラスがあります。新しいデータコンテキストを作成するたびに定数を作成して設定できますか?または、ユースケースに応じて異なる値に設定する必要がありますか?まったく時間がかからないものに対して高いタイムアウトを設定するのは悪いことですか?それとも本当に重要ではありませんか?
もちろん、高すぎるConnectionTimeout
とさらに煩わしくなります。しかし、ユーザー/顧客が何かをタイムアウトさせたい場合はありますか?SQLサーバーをフリーズして、コマンドが終了しないようにすることはできますか?