フォルダーの内容が変更されたときにASP.NETアプリケーションを再起動する
質問
「プラグイン」を持つWebアプリケーションを作成しています。プラグインは.DLLファイルになり、事前定義されたインターフェイスを介して機能をエクスポートします。すべての.DLLファイルは" Plugins"というフォルダーにあり、ASP.NETアプリケーションはそれらをすべて起動時に(Assembly.LoadFromを使用して)ロードします。
問題は、開発時にこれらのプラグインがかなり頻繁に変更されることです(すべての機能はプラグイン内にあり、Webサイト自体は単なるスケルトンです)。したがって、.DLLファイルが変更されたときにアプリケーションを自動的に再起動する方法が必要です。
どうすればいいですか?
解決
プラグインディレクトリがBinディレクトリの下にある場合、Webアプリは何かが変更されると自動的に再起動されます。
他のヒント
FileSystemWatcher クラスは一般的なソリューションですこれらの種類の問題、および HttpRuntime.UnloadAppDomain();
は、アプリを再起動する1つの方法です。もっと多くの研究/説明が必要だと思います:多くの可能な解決策があります。
編集:パスの検証。いい答えです。
所属していません StackOverflow