Entity Framework を使用してサーバー データベースへの接続を管理/監視するための最善の方法は何か疑問に思っています。
EF DB コンテキストまたはオブジェクト コンテキストが主要な処理を行うことはわかっています。ただし、このシナリオでは、ユーザーがクライアントへのネットワーク ケーブルを抜いたり、サーバー マシンでサーバーを停止したりする可能性があります。
DB サーバー <-> ネットワーク <-> ファット クライアント (EF)
したがって、上記のシナリオで、ネットワークがダウンし、クライアントがデータ アクセスを必要とする操作を試みると、例外が発生します (基になるプロバイダーがオープンに失敗しました)。
クライアント アプリケーション (DB コンテキスト/UoW、Rep などが存在する場所) が適切に失敗できるように、DB への接続の損失を検出するための最良のアプローチは何ですか?
私が見た 1 つの解決策は、サーバー DB (DBConnection) への手動接続を開き、C# のタイマーを使用して DB をポーリングし、ハートビート テーブルに書き込むことです。次に、例外が発生したときに例外をキャッチします。これは私にとって大規模なハッキングのようです。
助けていただければ幸いです...よろしくお願いします。