私のWCFサービスでは、リソース集約型のデータを保持するために静的な辞書を使用しています。アプリケーションプールがリサイクルされると、リソースをクリーンアップする必要があります。アプリケーションプールがリサイクルされていることを検出する方法(イベントなど)はありますか?WCFサービスのアプリケーションプールの再起動を検出するにはどうすればよいですか?
2
A
答えて
0
アプリケーションプールがリサイクルされると、すべての静的オブジェクトがリセットされます。静的辞書のインスタンスを作成するときに、ファイルなどの外部リソースをすべて消去することができます。このような何か:
public static partial class ProjectValues
{
public static ConcurrentDictionary<string, string> MessageDictionary { private set; get; }
static ProjectValues()
{
try
{
MessageDictionary = new ConcurrentDictionary<string, string>();
//then clear the resource here
}
catch (Exception ex)
{
return;
}
}
}
0
は、私が アプリケーションプールがリサイクルされていることを検知することが可能な(例えば、イベントのための)任意の方法はありますか?
金田。
Phill Haackによれば、IISは、HostingEnvironment.RegisterObjectという静的メソッドを公開しています。これにより、IRegisteredObjectの実装を渡すことができます。理論的には
が、これはあなたのアプリケーションが実行されているのw3wp.exeプロセスを強制終了することを決定する前IRegisteredObject.Stop操作を呼び出すためにIISに指示します。
が、私はこのアプローチはフェイルセーフとがありますされていないため、理論的に言いますあなたがクリーンアップを完了する前に、AppDomainが呼び出すことなく離れたり、コールしてもシャットダウンしたりすることができます。
関連する問題
- 1. デバイスを再起動せずにアプリシステムを再起動するにはどうすればよいですか?
- 2. アプリの起動時にAndroidサービスを起動するにはどうすればよいですか?
- 3. C#モバイルアプリケーションを再起動するにはどうすればよいですか?
- 4. スプールプリンタを再起動するにはどうすればよいですか?
- 5. スクリプトを再起動するにはどうすればよいですか?
- 6. コマンドプロンプトを使用してサービスを再起動するにはどうすればよいですか?
- 7. 他のwcfサービスをホストできるwcfサービスを実装するにはどうすればいいですか?
- 8. WCFサービスをウェブサイトにアップロードするにはどうすればよいですか?
- 9. uiWebViewでjavascript操作の起動を検出するにはどうすればよいですか?
- 10. iOSで毎日最初の起動を検出するにはどうすればよいですか?
- 11. WCFサービスを単体テストするにはどうすればよいですか?
- 12. サービスを起動せずにglobal.asaxからサービスを開始するにはどうすればよいですか?
- 13. 再起動後にWindowsサーバーが使用可能になっているかどうかを検出するにはどうすればよいですか?
- 14. アプリケーションからJProfilerで起動したことを検出するにはどうすればよいですか?
- 15. dataprocクラスタでhadoopサービスを再起動するにはどうすればいいですか
- 16. Ubuntuの起動時にサービスを自動的に開始するにはどうすればよいですか?
- 17. Chromeブラウザを再起動するにはどうすればいいですか
- 18. slonyを再起動するにはどうすればいいですか?
- 19. アクティビティが再び起動されないようにするにはどうすればよいですか?
- 20. 再起動時にglassfishを起動させるにはどうすればよいですか?
- 21. サービスによって起動されるダイアログを作成するにはどうすればよいですか?
- 22. サービスとしてicecastを作成して再起動するにはどうすればいいですか?
- 23. 現在のユーザーにWindowsサービスを再起動する権限があるかどうかを確認するにはどうすればよいですか?
- 24. pm2で自動再起動の回数を制限するにはどうすればよいですか?
- 25. facebook-ios-sdkのようなアプリを再起動するにはどうすればいいですか?
- 26. WCFテストクライアントを使用すると、wcfサービスを更新するにはどうすればよいですか?
- 27. WindowsサービスをPowerShellで自動再起動するように設定するにはどうすればよいですか?
- 28. Android - サービスを再起動する前にサービスの前回の実行を停止するにはどうすればよいですか?
- 29. VS2017でWCFサービスをRESTfulサービスに変更するにはどうすればよいですか?
- 30. 繰り返しタスクを再起動/再利用するにはどうすればよいですか?