3

Entity Framework を使用してサーバー データベースへの接続を管理/監視するための最善の方法は何か疑問に思っています。

EF DB コンテキストまたはオブジェクト コンテキストが主要な処理を行うことはわかっています。ただし、このシナリオでは、ユーザーがクライアントへのネットワーク ケーブルを抜いたり、サーバー マシンでサーバーを停止したりする可能性があります。

DB サーバー <-> ネットワーク <-> ファット クライアント (EF)

したがって、上記のシナリオで、ネットワークがダウンし、クライアントがデータ アクセスを必要とする操作を試みると、例外が発生します (基になるプロバイダーがオープンに失敗しました)。

クライアント アプリケーション (DB コンテキスト/UoW、Rep などが存在する場所) が適切に失敗できるように、DB への接続の損失を検出するための最良のアプローチは何ですか?

私が見た 1 つの解決策は、サーバー DB (DBConnection) への手動接続を開き、C# のタイマーを使用して DB をポーリングし、ハートビート テーブルに書き込むことです。次に、例外が発生したときに例外をキャッチします。これは私にとって大規模なハッキングのようです。

助けていただければ幸いです...よろしくお願いします。

4

0 に答える 0