アプリケーションの既知のフォルダ内の特定の種類のファイルを変更、追加、または削除すると、アプリケーションが再起動しますが、アプリケーションのログファイルが更新されたときに、アプリケーションが再起動しないのはなぜですか。それで
PropertyInfo p = typeof(System.Web.HttpRuntime).GetProperty("FileChangesMonitor", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
object o = p.GetValue(null, null);
FieldInfo f = o.GetType().GetField("_dirMonSubdirs", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase);
object monitor = f.GetValue(o);
MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", BindingFlags.Instance | BindingFlags.NonPublic);
m.Invoke(monitor, new object[] { });
これらの変更により、アプリケーションを再起動せずにフォルダーを作成/変更/削除できます。ただし、このコードはすべてのアプリケーションの既知のフォルダー用です。知りたいのは、アプリケーションを再起動せずに1つのフォルダー用です。