Проблемы с использованием веб-сервиса на ASP.NET на рабочем сервере (IIS)

StackOverflow https://stackoverflow.com/questions/1123503

Вопрос

Мы внедрили некоторый клиентский код SOAP на нашем сайте ASP.NET который вызывает удаленную службу.Реализация была в основном выполнена с помощью мастера "Добавить веб-ссылку" Visual Studio, добавив в код соответствующее 'using remote.service.namespace' и вызвав службу.

Код отлично работает локально (из Visual Studio), но на рабочем веб-сервере происходит сбой из-за ошибки отсутствия ссылки на сборку:

CS0246:Не удалось найти тип или имя пространства имен 'remote.service' (вам не хватает директивы using или ссылки на сборку?)

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

Спасибо!

Дополнительная информация:

Проект - это веб-сайт.

ASP.NET версия 2.0 установлена и используется в качестве целевой как на dev box, так и на production server.

Прокси-файл, созданный WSDL.exe, развертывается в корневой папке веб-сайта, той же папке, где находится страница.Глобальное пространство имен (по умолчанию) использовалось для генерации прокси-класса.

Это было полезно?

Решение

Если это проект веб-сайта, то прокси-файл должен находиться внутри папки App_Code

Другие советы

Вы упомянули, что прокси-библиотека dll размещена в "корневой папке веб-сайта, где находится страница".

Вы должны поместить dll-файл в папку "bin".Если папки там нет, создайте ее.

Клиентский стек веб-службы в .NET генерирует прокси-клиент во время выполнения (из аннотаций в классе, сгенерированном wsdl.exe/svcutil.exe).этот сгенерированный файл обычно оказывается во временных каталогах одного из ваших серверов (где-то под главным деревом Windows есть один).Проблема в том, что ASP.NET учетная запись пользователя не имеет прав на запись в этот конкретный временный каталог, но не замечает этого во время записи файла, поэтому в конечном итоге вы получаете сообщение об ошибке при попытке загрузить созданный файл обратно.Вы можете оказаться в подобной ситуации в зависимости от точного порядка установки на вашем сервере.Как только вы найдете нужный каталог, вы можете просто исправить настройки NTFS в каталоге, чтобы решить проблему.

Вы скопировали папку App_WebReferences и все ее содержимое на сервер?

Работают ли другие части вашего сайта ASP.NET?

Предназначен ли ваш сайт для версии 3.5 и, возможно, версия 3.5 не установлена на рабочем сервере?

Это веб-сайт или проект веб-приложения?Держу пари, это веб-сайт.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top