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

Серверное приложение недоступно - не удалось загрузить файл или сборку System.Web, доступ запрещен

Я разработчик, пытающийся настроить виртуальный каталог для веб-службы WCF на компьютере с Windows Server 2003 (32-разрядная версия), и я продолжаю получать сообщение «Серверное приложение недоступно» со следующей записью в журнале событий:

Сообщение: не удалось загрузить файл или сборку System.Web, Version = 2.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a или одну из его зависимостей. Доступ запрещен.

Пока я пробовал:

Я не могу понять - есть еще одна веб-служба .asmx, которая, похоже, отлично работает на том же веб-сервере с теми же настройками. Что я пропустил?

Есть ли какие-нибудь методы, которые можно использовать для решения подобных проблем с разрешениями? Было бы полезно знать учетную запись пользователя и путь, к которому он пытается получить доступ, но включение событий сбоя в политике аудита компьютеров, похоже, ничего не дало.

Угги мои плохие - похоже, это обман https://serverfault.com/questions/63675/server-unavailable-and-removed-permissions-on-net-sites-after-windows-update. Я проверил разрешения для каталога, в котором содержалась сама служба, и все было в порядке.

Я также заметил, что в другом вопросе FileMon использовался для просмотра более подробной информации о том, что / кто к чему не получил доступа.

В вашем последнем комментарии наверняка есть ключ. Filemon (или processmon) - ваш друг в подобной ситуации. Если вы его не использовали, его можно безопасно запустить на рабочем сервере, бесплатно и достаточно легко понять. (только не оставляйте его для сбора данных слишком долго)

У вас есть ошибка разрешения, вероятно, из-за чего-то в GAC, поскольку System.Web должен вызываться из GAC. Единственное исключение - если разработчик поместил System.Web.dll в папку / bin. Разрешения не должны быть заблокированы, если кто-то действительно не укрепил сервер. Монитор процесса должен быстро сказать вам ответ.

Чтобы захватить его, поставьте Process Monitor в очередь, запустите захват, обновите страницу с ошибкой, остановите захват, а затем найдите слово «отказано».

существует еще одна веб-служба .asmx, которая отлично работает на том же веб-сервере с теми же настройками. Что я пропустил

Может быть, вы пытаетесь работать с разными веб-сайтами на одном порту и IP? Не могли бы вы попробовать изменить порт одного из них или закрыть другой сайт?

Просто план.