
Я уверен, что сталкивался с ситуациями, когда остановка IIS с помощью диспетчера IIS не позволяла мне получить доступ к используемым файлам каталога bin asp.net, но при остановке службы публикации в Интернете эти файлы становились доступными.
Был задан вопрос, разве они не делают одно и то же? Может ли кто-нибудь подтвердить, что это одно и то же... Я всегда думал, что это две разные вещи...
Я конкретно говорю о IIS6 на Windows Server 2003 (на случай, если что-то изменилось в разных версиях сервера или IIS)
Спасибо огромное!
решение1
Эта статья здесьможет помочь.
Если щелкнуть правой кнопкой мыши на сервере в диспетчере IIS и выбрать «Перезапустить IIS», он выполнит iisreset
. Запуск iisreset
НЕ сбрасывает стек HTTP, он просто выгружает и перезагружает процесс IIS.
В результате, полагаю, что это iisreset
не сбрасывает службу W3C.
решение2
Остановка или перезапуск IIS просто сбрасывает процесс IIS из памяти и останавливает прослушивание. Фактически это не перезапускает службу W3C, поэтому служба может держать файлы заблокированными.
решение3
Я в замешательстве. Я не вижу опции остановки IIS в IIS Manager, только возможность перезапустить его. Вы имеете в виду, что останавливаете веб-сайт в IIS Manager? Если это то, что вы имеете в виду, то, думаю, у меня есть ответ:
Я предполагаю, что ваш веб-сайт работает в "изолированном" режиме (термин IIS 5), поэтому он работает в своем собственном пуле приложений, который порождает отдельный процесс w3wp.exe для пула приложений. Остановка веб-сайта не останавливает и не убивает пул приложений, поэтому ваши файлы все еще используются и к ним нельзя получить доступ. И наоборот, остановка службы WWW останавливает и веб-сайт, и пул приложений, убивая процесс w3wp.exe и, следовательно, освобождая используемые файлы.