Программно найти, когда рабочий процесс ASP.NET и домен приложения последний раз запускались?

В ASP.NET:

  1. Как узнать, когда рабочий процесс ASP.NET последний раз перезапускался?

  2. В ASP.NET как узнать, когда домен приложения последний раз перерабатывался?

1 ответ

Решение

Для рабочего процесса вы можете программно прочитать Process -> Elapsed Time из соответствующего перфекта. counter (1) или непосредственно из пространства имен System.Diagnostics.Process; для AppDomain вы можете установить переменную уровня приложения при запуске, чтобы служить в качестве базовой линии и измерять ее вручную.

На самом деле у Скотта Митчелла есть пара хороших постов, которые по-прежнему актуальны 8 лет спустя, хотите верьте, хотите нет (2). Работая на Cassini (Vista, VS 2008), я вижу точное время работы системы:

TimeSpan.FromMilliseconds(Environment.TickCount)

... и точное время работы Process/AppDomain с этими:

foreach (Process p in Process.GetProcessesByName("WebDev.WebServer"))
{
    Response.Write(DateTime.Now.Subtract(p.StartTime).ToString() + "<br/>");
}

Response.Write(DateTime.Now.Subtract((DateTime)Application["StartTime"]).ToString());

Я также могу получить правильный PerfomanceCounter, но, похоже, не могу прочитать правильное значение (всегда ноль, в моих настройках):

Response.Write(new PerformanceCounter("Process", "Elapsed Time", "WebDev.WebServer").NextValue() + "<br/>");

Статьи Скотта определенно стоит прочитать - в ProcessInfo и ProcessModelInfo есть много информации (например, ProcessModelInfo.GetHistory), но, к сожалению, она недоступна в Cassini:

Показатели процесса доступны только при включенной модели процесса ASP.NET. При работе в версиях IIS 6 или новее в режиме изоляции рабочих процессов эта функция не поддерживается.

ОБНОВЛЕНИЕ: отличное объяснение того, как правильно считать счетчик, чтобы избежать нуля в NextValue (): http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx

НТН

(1) https://serverfault.com/questions/90927/lifetime-of-iis-worker-process-or-appdomai

(2) http://www.4guysfromrolla.com/articles/041002-1.aspx

Другие вопросы по тегам