3

すべての呼び出しを try catch ブロックにカプセル化したくありません

接続が失われた場合やタイムアウトした場合に再接続できるように、サブスクライブできるイベントはありますか..

または、すべてのlinqクエリをチェックしない方法。

そうでない場合は、そうではありません!

編集: Linq to Entity にはこれがありますか?

編集: Microsoft SQL Azure を使用していますが、接続が大幅に切断されます。

編集:データベースへの呼び出しごとに新しい接続を開きます。そのため、接続を開いたままにしているわけではありません。

4

3 に答える 3

1

この機能を正確に追加する独自の LINQ プロバイダーを (既存の機能の多くを使用して)作成することを検討できます。毎回例外を処理するよりも作業が少なくなる可能性があります。

于 2009-12-13T07:38:27.040 に答える
1

そのようなイベントがあったとしても(確かではありません)、あなたはまだそれに頼ることができませんでした. ネットワーク接続が突然切断される可能性があり、データベース エンジンがビジー状態で他のクエリを実行すると、タイムアウトが常に発生する可能性があります。理由に関係なく、クエリが成功したか失敗したかを直接監視することをお勧めします。

于 2009-11-27T22:45:27.210 に答える
0

なんでそんなにドロップするの?データ コンテキスト オブジェクトを長時間使用していませんか? 構築するのは安価なので、新しい作業単位を開始するときに新しいものを構築するだけです。

このmsdn ブログから

短いライフタイムの側で誤りを犯すことをお勧めします。作業単位またはステートレス サーバーに対する単一の要求でさえ、開始するのに適したパターンです。

于 2009-12-09T01:52:55.167 に答える