После удаления каталога в asp.net приложение перезапустится, и я потеряю всю свою сессию, и кеш очистится. Итак, я нашел следующее решение; Я поставлю следующий код в Application_Start
из Global.asax
, чтобы отключить отключение утилизации пула приложений, но иногда это не работает. Зачем?Как отключить перезапуск приложения после удаления каталога В ASP.NET 4?
System.Reflection.PropertyInfo p = typeof(HttpRuntime).GetProperty("FileChangesMonitor", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
object o = p.GetValue(null, null);
System.Reflection.FieldInfo f = o.GetType().GetField("_dirMonSubdirs", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.IgnoreCase);
object monitor = f.GetValue(o);
System.Reflection.MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
m.Invoke(monitor, new object[] { });
Существует множество других причин, по которым пул приложений может перерабатываться, некоторые из которых не могут быть отключены. Правильное решение действительно заключалось бы в том, чтобы ваше приложение хорошо работало с переработками, а не пыталось их отключить. –
Правильным решением является не удаление каталогов в корне приложения. –
, но этот код часто работает правильно. – shiva