Назад | Перейти на главную страницу

Регистрирует ли IIS текущие запросы при выполнении сброса IIS?

Если выполняется сброс IIS, регистрируются ли запросы, которые в настоящее время обрабатываются, но еще не завершены, в журналах IIS?

И запросы, которые были выполнены, но еще не сброшены в файл журнала, записываются ли они в файл?

Я думаю, что нет, так как все состояния сеанса в памяти также теряются. Согласно документации Microsoft по Запустить или остановить веб-сервер (IIS 8):

Вы можете остановить IIS, когда хотите, чтобы веб-сервер не обслуживал контент, например, при обновлении приложений. Чтобы остановить веб-сервер, необходимо остановить службу активации процессов Windows (WAS) и службу публикации в Интернете (W3SVC). Затем вы можете запустить веб-сервер, когда будете готовы к тому, что веб-сервер снова будет обслуживать контент.

Когда вы останавливаете WAS и W3SVC, все сеансы, подключенные к вашему веб-серверу сброшены. Любое состояние сеанса в памяти потеряно. Все сайты будут недоступны, пока эти службы не будут перезапущены. Поэтому по возможности избегайте остановки и перезапуска веб-сервера.

Около Действия сброса IIS:

IISreset.exe - это служебная программа командной строки, которую можно использовать для остановки, запуска и перезапуска Интернет-служб IIS.

Примечание. Перезапуск или остановка IIS или перезагрузка веб-сервера - серьезное действие. Когда вы используете IISreset, ваши веб-сайты и приложения становятся недоступными, все сеансы, подключенные к вашему веб-серверу, упал, и вы потеряете существующее состояние в ваших приложениях. Изменения к метабаза может быть потеряна. Ваши веб-сайты и приложения будут недоступны до тех пор, пока затронутые интернет-службы не будут перезапущены.

Команда IISreset останавливает и перезапускает службу IIS Admin, службу активации Windows (WAS) и службу публикации в Интернете (службу WWW).

Избегайте использования IISreset без крайней необходимости. Вместо этого сначала попробуйте перезапустить отдельный веб-сайт или отдельный пул приложений, которые могут вызывать проблемы.

Обзор ведения журнала IIS:

... Когда происходит регистрируемое событие, обычно это транзакция HTTP, IIS вызывает выбранный модуль ведения журнала, который затем записывает в один из журналов, хранящихся в% SystemRoot% \ system32 \ Logfiles \.

Насколько я понимаю, сначала должна быть завершена HTTP-трансляция, чтобы ее можно было зарегистрировать, а затем служба ведения журнала также должна работать, пока она не завершит ее запись. Таким образом, между остановкой и стартом для запросов в полете есть серая зона, и очень мало шансов, что они будут полностью записаны в журнал. Это также зависит от того, как долго связанные службы будут ждать перед закрытием.

Сброс IIS выполняет чистый перезапуск службы, так как файл журнала закрывается правильно.

Это не значит, что вы убиваете процесс. (или если перезапуск не может быть завершен из-за проблемного расширения, так как в этом случае процесс зависнет и завершится)