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

IIS - невозможно удалить каталог, который раньше был связан с сайтом

У моего коллеги была странная ошибка IIS, которую я смог исправить, но не смог объяснить причину проблемы. Вот предыстория.

На сервере Server1 есть сервер IIS, на котором есть несколько приложений ASP.Net под основным веб-сайтом. Главный веб-сайт, который вы получаете при переходе по адресу http: \ Sever1, раньше был собственным приложением ASP.Net, связанным с каталогом C: \ MainWebsite. Затем дочерние приложения ASP.Net будут доступны по адресу http: \ Sever1 / AppName. Главный веб-сайт теперь перенаправляется на другой сервер, но каталог остался. При удалении каталога C: \ MainWebsite ни один из дочерних веб-сайтов ASP.Net не работал, выдавая ошибки о невозможности найти тот или иной тип .Net. После перезапуска IIS несколько раз и попытки добавить библиотеки dll для тех типов, которые ему не хватало, я попросил его создать новый пустой каталог в C: \ MainWebsite и перезапустить IIS. Теперь все дочерние сайты работают.

В чем причина такого поведения и есть ли какая-то ассоциация, которую я должен нарушить, или другой трюк, позволяющий удалить «ненужный» каталог C: \ MainWebsite? Потому что кто-то другой может попытаться удалить папку и снова запустить весь цикл.

IIS обычно хорошо снимает блокировки, но в редких случаях он остается заблокированным. Возможно, что еще одна возникшая служба FTP сохранила дескриптор файла.

Это будет происходить не слишком часто, но если вы снова столкнетесь с этим, используйте Process Explorer с www.sysinternals.com. Найдите имя файла или папки, и он сообщит вам, какое приложение имеет дескриптор для этого файла. Вы можете убить и ручку, если хотите. Просто будьте очень осторожны с удалением дескрипторов файлов, так как вы можете быстро отключить сервер. В первую очередь вы хотите узнать, у какого процесса есть дескриптор, который даст ключ к разгадке причины.

Мне понадобится дополнительная информация, и мне придется исследовать сервер, чтобы найти его, вероятно. Я полагаю, что это, вероятно, должно быть связано с настройкой «дочерних» сайтов, но я не знаю ничего конкретно, что могло бы вызвать это.

Однако, чтобы ответить на ваш последний вопрос, вы можете сделать так, чтобы каталог нельзя было удалить, изменив настройки безопасности. Видеть: Как я могу сделать файл действительно неизменяемым (не удаляемым и доступным только для чтения)?