Ответ 1
Вы просмотрели предложения по регистрации из "" Регистрация событий запуска приложений ASP.NET"? Это было бы моим предложением о том, как получить дополнительную информацию о том, что происходит.
Есть ли способ отслеживать (регистрировать) причину перезапуска приложения ASP.NET?
Теперь у нас проблема с довольно сложным сайтом. Он перезапускается во время загрузки файла. Не по каждому файлу, но на каждом 5-м-10-м наверняка. Мы используем собственный VirtualPathProvider, поэтому это может быть причиной. У нас также есть потоки рабочего стола, и это также может быть причиной. Было бы здорово узнать причину.
Проблема возникает в XP (IIS 5.1) и Windows Server 2003 (IIS 6).
Разрешение:
Спасибо, ребята, нам удалось это поймать. Это вызвано максимальными рекомпиляциями. Скорее всего, проблема в нашем VirtualPathProvider, но это совершенно другой вопрос.
Резюме подходов:
Вы просмотрели предложения по регистрации из "" Регистрация событий запуска приложений ASP.NET"? Это было бы моим предложением о том, как получить дополнительную информацию о том, что происходит.
Добавление или удаление папок внутри папки приложения приведет к тому, что пул приложений будет перерабатываться (наиболее вероятная причина в вашем случае), а также многое другое. Вот интересная статья:
на том же сайте есть несколько хороших советов о том, как отслеживать перезагрузки, которые вы действительно спрашивали. Возможны следующие варианты: web.config и EventViewer или Performance Monitor.
Тесс Феррандез, ASP.NET Escalation Engineer имеет хороший блог со всеми советами и трюками для отладки приложений ASP.NET.
Сообщения, которые вас особенно интересуют:
Она проведет вас через шаг, связанный с разработкой проблемы, и как ее решить.
Еще одна вещь, о которой следует помнить, - это файлы сканирования антивирусного программного обеспечения под корнем сайта - это может изменить измененную дату файла и привести к перезагрузке приложения.
Взгляните на эту статью в центре разработчика и практики Microsoft:
Отладка производства для приложений .NET Framework
Также см. эту запись в блоге Джефф Этвуд:
Как говорили другие, проверьте HostingEnvironment.ShutdownReason
. если значение BinDirChangeOrDirectoryRename
, то какой-то процесс изменяет некоторые файлы (создание, удаление, изменение атрибута) в папке приложения.
Если вы не можете найти, кто это делает, используйте Process Monitor из SysInternals. В моем случае это был антивирусный процесс, который устанавливал файлы CreationTime (к их предыдущему CreationTime!).