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

Иногда «не удалось загрузить файл или сборку» в asmx WebService на IIS и DFS

У нас есть несколько веб-служб ASMX, размещенных на двух идентичных компьютерах с Windows Server 2003. Виртуальный каталог для веб-служб загружается в общий ресурс DFS, оба сервера указывают на один общий ресурс. У нас есть балансировщик нагрузки между Интернетом и двумя веб-серверами.

С кажущимся случайным интервалом (сейчас примерно два раза в неделю), когда пользователь пытается получить доступ к методу в веб-службе, IIS возвращает ошибку: «Не удалось загрузить файл или сборку» для одной из сборок, используемых в вызове метода, и будет продолжать сообщать об этом каждый раз при вызове метода, пока пул приложений не будет перезапущен.

Мы не обнаружили заметной закономерности проблемы. Вот что я знаю:

Я включил журнал подшивки сборки и знаю, что подшивка ищет файл в правильном месте.

Наши сборки скомпилированы для .Net 3.5.

У нас была аналогичная проблема.

Мы никогда официально не выясняли, что происходит, но мы сузили проблему до уровня олицетворения в web.config и доступа пользователей к папке, в которой размещен файл сборки.

Мы обнаружили, что иногда рабочий процесс IIS пытается загрузить сборку как лицо, обращающееся к веб-запросу. Мы могли видеть, что поток, который пытался загрузить сборку, в настоящее время олицетворяет пользователя, отправляющего запрос на одну из страниц asp.net.

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