Мне прочитали тонны статей, где указано, что я могу отключить перезапуск приложения asp.net после изменений web.config с помощью fcnMode = "Disabled".
Я хочу сохранить свое состояние приложения и не разрешатьперезапускайте после любых изменений конфигурации, пока я не решу перезапустить.
Я готовлю такую конфигурацию для IIS.
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.7.2"/>
<httpRuntime targetFramework="4.7.2" fcnMode="Disabled"/>
</system.web>
</configuration>
Каждое изменение Web.Config в корне приложения вызывает повторное использование.
Я пишу такой простой Контроллер, чтобы проверить это.Сохранение в статической переменной при запуске приложения (это симуляция состояния).Я просматриваю страницу в браузере, затем нажимаю / редактирую файл web.config, чтобы увидеть, перезагрузит ли IIS приложение или нет.Каждый раз я вижу, что после серии F5 / время обновления не меняется, но после касания / редактирования каждый раз меняется время - это означает, что состояние потеряно, а приложение перезагружено.
Я проверял это также в отладчике и контроллеременяется, поэтому приложение перерабатывается.
public class HomeController : Controller
{
public static DateTime startDate = DateTime.Now;
// GET: Home
public ActionResult Index()
{
ViewBag.StartDate = startDate;
return View();
}
}
Вот представление:
<code><h2>Index</h2>
<pre>
Process: @(System.Diagnostics.Process.GetCurrentProcess().ProcessName)
Process start date: @(System.Diagnostics.Process.GetCurrentProcess().StartTime)
Application domain start date (controller static variable): @(ViewBag.StartDate)
Прочитайте статью перед вопросом:
- https://docs.microsoft.com/en-us/dotnet/api/system.web.configuration.fcnmode?view=netframework-4.8
- Как предотвратить перезапуск приложения ASP.NET при изменении web.config?