3

ASP.NETMVC3で実行されている重要なアプリケーションがあります。

フェイルオーバーソリューションにより、マシンがクラッシュした場合、データベースの回復に時間がかかる場合があります。たとえば、1秒です。

Entity Frameworkは、変更を保存したり、オブジェクトをマテリアライズしたりするたびに接続を作成します。この接続は失敗する可能性があります。

データベース接続が失敗したときに一定時間後に再接続を試みるように、EntityFrameworkで何かを実装したいと思います。

ToListこのソリューションをObjectContextインスタンスごとに1回だけ実装する必要があります。つまり、すべてまたはを囲むtry/catchを配置したくありませんFirst

なにか提案を?

4

2 に答える 2

1

マイクロソフトによる一時的な障害処理をチェックしてください。それはあなたが求めていることを正確に実行するために作成されています。

于 2012-08-14T10:09:43.473 に答える
1

独自のEF Provider Wrapperを作成してみてください。これにより、データベース接続とデータベース コマンドのロジックを変更できます。再試行ロジックをラッパーに正確に配置する場所を見つけるために、EF を少し操作する必要がありますが、まったく新しいプロバイダーを作成せずに使用するのに最適な集中型の場所です。

于 2012-08-14T10:06:49.303 に答える