Я создал ссылку на службу WCF, размещенную в IIS, в моем проекте веб-сайта ASP.NET на моей локальной рабочей станции с помощью параметра «Добавить ссылку на службу» в Visual Studio 2008. Я смог запустить службу с моей локальной рабочей станции.
Когда я перемещаю веб-сайт ASP.NET с помощью функции «Копировать веб-сайт» в Visual Studio 2008 на сервер разработки и перехожу на страницу, использующую службу, я получаю следующую ошибку:
Reference.svcmap: Specified argument was out of the range of valid values.
Кто-нибудь сталкивался с этой же ошибкой и знает, как ее решить?
Обновлено: Мой сервер разработки - Win2k3 с IIS 6





Проблема может быть связана с несоответствием структуры папок решения / проекта и структуры папок веб-сайта IIS. Некоторое время назад я столкнулся с подобными проблемами и в конечном итоге изменил способ развертывания веб-сервисов. Здесь и здесь - это некоторые обсуждения проблем, схожих с вашей, они закончили тем, что не использовали сгенерированный клиентом Add Service и свернули свой собственный клиент. Кроме того, я могу поручиться за использование метода «Опубликовать веб-сайт» для развертывания моих услуг. Здесь - хорошая статья о моделях развертывания веб-сервисов.
К сожалению, веб-сайт службы WCF и я не можем использовать решение svcutil (если вы не знаете, как ...). Развертываете ли вы службу или веб-сайт со ссылкой на службу с помощью функции публикации веб-сайта Visual Studio 2008?
Вы также можете получить код клиента из клиента службы, созданного VS 2008. Просто нажмите кнопку «Показать все файлы» на панели обозревателя решений. Сгенерировать будет в файле с именем reference.cs (или .vb).
@Sixto Saez: Мне удалось использовать следующий ресурс, аналогичный тому, который вы предоставили, для создания прокси-класса с помощью служебной программы метаданных ServiceModel (svcutil.exe).
Вот точная командная строка:
svcutil /t:code http://<service_url> /out:<file_name>.cs /config:<file_name>.config
Здесь - это ссылка, которую я нашел, предлагая использовать метод.
Кроме того, я смог использовать службу, создав ссылку с помощью команды Visual Studio 2008 «Добавить веб-ссылку». Он генерирует код на основе технологии веб-служб .NET Framework 2.0.
Я создаю клиент веб-службы с помощью svcutil. Я беру код и помещаю в отдельный проект библиотеки классов. Я ссылаюсь на клиентский проект в проекте веб-сайта службы, и процесс публикации веб-сайта копирует DLL в папку bin.