Если вы хотите отказаться от дополнительной переменной, я думаю, это даст вам последний раз, когда рабочий процесс IIS (a.k.a. пул приложений) был перезапущен:
System.Diagnostics.Process.GetCurrentProcess().StartTime
Я использую его для настройки кеширования, поскольку страница основана на контенте, который я генерирую только динамически при запуске приложения:
Response.Cache.SetLastModified(System.Diagnostics.Process.GetCurrentProcess().StartTime);
Можно останавливать / запускать отдельные веб-сайты в рамках пула приложений / рабочего процесса, но из этого поста я делаю вывод, что при этом не будут воссозданы статические объекты приложения, поэтому я собираю, что дата связана с рабочий процесс, пожалуй, самая полезная дата здесь.
Помните также, что статическая переменная приложения, созданная при запуске приложения, на самом деле часто дает вам время, когда приложение было впервые посещено. Возможно, рабочий процесс был запущен намного раньше, и это приводит к напомнить такие фразы, как «разогрев приложения IIS» и «автозапуск приложения IIS» и еще одно обсуждение того, когда статические поля инициализируются вообще. То, что вы выберете, может зависеть от того, интересует ли вас время последней перезагрузки рабочего процесса или интересует ли время, когда были вычислены другие статические элементы.