私のアプリはキャッシュに保存されたデータを使用し、常に 30MB を超えません。このデータは重要なので、不要なクラッシュやリサイクルで失わないようにしたいと思います。アプリのリサイクル時に SQL Server でこのデータのバックアップを作成する方法または方法はありますか? アプリがリサイクルされたときに呼び出され、SQL Server でバックアップを作成できるメソッドはありますか?
1 に答える
データをファイルまたはデータベースに保存するコードを、Application_End() の global.asax に追加します。呼び出されるはずの丁寧なシャットダウンで。
ポライト シャットダウンがない場合、Application_End イベントが発生しない場合があります。これらはここでカバーされ、以下に要約されています。
このイベントは、ライブ アプリケーションが正常にシャットダウンされたときに発生します。次のことが原因で、このイベントが発生する可能性があります。
実行中のアプリケーションの構成ファイルを編集します。これにより、ASP.NET がアプリをアンロードして再ロードするため、Application_End が起動します。
bin ディレクトリの dll を変更します。これにより、ASP.NET はアプリをアンロードして再ロードするため、Application_End が起動します。
IIS を停止 (または再起動) する
IIS6 アプリケーション プールで、または aspnet ワーカー プロセスを使用して何らかの種類のプロセス リサイクルを有効にしている場合、そのプロセスがリサイクルされると、すべてのアクティブなアプリケーションに対して Application_End イベントが発生します。
プロセスを正常に再起動させるその他の同様のイベント。
プロセスが正常に終了しない場合 (プロセスがデッドロックして強制終了する必要がある場合など) には起動しません。また、上記のシナリオではアプリケーションが終了する前にすべてのアクティブなセッションが終了しますが、すべてのライブ セッションが終了しても起動しません。微妙な違いは、すべてのライブ セッションを終了できることですが、アプリはまだアイドル状態で実行されています。