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

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

У меня есть Windows Server 2008 R2, на котором для меня запущено несколько сайтов, при разработке я обычно публикую обновления на этом сервере. Теперь я попытался опубликовать обновление, но он не смог сказать, что у него есть файл, и сообщение об ошибке выглядит следующим образом:

"The action can't be completed because the file is open in IIS Worker Process"
"Close the file and try again."

Я попытался остановить работу сайта, но это не помогло. Сайт работает в том же пуле приложений, что и сайт, который должен оставаться в сети, поэтому повторное использование может нарушить работу работающего сайта (если это не так, поправьте меня).

Вопрос: есть ли способ «Снять» блокировку файла, не останавливая другие запущенные в данный момент сайты?

Вы должны остановить РАБОЧИЙ в IIS. Затем удалите файл.

Из какого приложения вы получаете это сообщение?

Кажется более вероятным, что само приложение (или платформа приложения) блокирует файл, чем пул приложений как таковой.

В будущем запускайте каждый сайт в собственном пуле приложений и рассмотрите возможность запуска любого приложения, которое необходимо перезапустить отдельно от других, в собственном пуле приложений.

Пул приложений - это единица надежности; приложение (или AppDomain для приложений ASP.Net) представляет собой контейнер, который имеет логическое, но не полное разделение.

Перейдите в Диспетчер задач -> Процесс и найдите Информационные службы Интернета или найдите Рабочий процесс и выберите Завершить задачу.

Это решило мою проблему. Я получил эту ошибку при создании приложения и попытался удалить библиотеки DLL приложения, чтобы при создании библиотеки DLL были восстановлены. После удаления я получил сообщение об ошибке «действие не может быть завершено, потому что файл открыт в рабочем процессе iis».

Остановите весь пул приложений на вашем сервере IIS, а затем удалите весь рабочий процесс IIS в диспетчере задач.

На панели задач щелкните правой кнопкой мыши IIS express, затем наведите курсор на свой проект. и выберите Остановить проект. https://stackoverflow.com/a/62502732/13787040