Ссылка на новый проект WCF со старой «Веб-ссылкой»

У меня есть WCF в Visual Studios 2012 с .NET Framework 4.5, который я запустил для создания локального сервера разработки. У меня также есть проект библиотеки классов в Visual Studio 2008 с .NET Framework 3.5, который может добавлять только веб-ссылки, что я сделал для подключения к локальному хост-серверу разработки выше. К сожалению, я не могу получить доступ к веб-справочнику или каким-либо его функциям.

Это возможно? И если да, то есть идеи, какой шаг я пропустил?

Я нахожусь в VS 2008, потому что на самом деле это .NET Compact Framework 3.5, который добавляет некоторые ограничения, но если это возможно с обычной .NET Framework 3.5, я, вероятно, смогу заставить его работать с компактной средой.

Спасибо!


person Anduril28    schedule 02.11.2014    source источник


Ответы (2)


Если ваша служба WCF использует BasicHttpBinding, вы сможете использовать ее с веб-ссылкой. Просто найдите адрес конечной точки службы (например, URL-адрес, оканчивающийся на .svc), добавьте ?wsdl в конец и добавьте к нему веб-ссылку (и убедитесь, что публикация метаданных в стиле http get включена в поведении службы wcf) .

person fejesjoco    schedule 02.11.2014
comment
Я нашел адрес конечной точки (в настоящее время localhost:51997/MyService.svc) ранее, но на этот раз я добавил? wsdl в конец, и он показал одну из функций в окне, но я все еще не могу получить доступ или даже найти службу из своего кода (т.е. назвать ее «MyService» и не могу найти MyService .МояФункция()). И я также не уверен, как включить публикацию метаданных http get style. - person Anduril28; 03.11.2014
comment
Найдите класс, производный от SoapHttpClientProtocol. Это ваш клиент, создайте его экземпляр, и в нем вы должны найти свои методы обслуживания. - person fejesjoco; 03.11.2014
comment
Ничего... Я могу добавить веб-ссылку, и я вижу ее при доступе к обозревателю объектов, но кроме этого ничего. - person Anduril28; 03.11.2014
comment
Проверьте в проводнике Windows, был ли добавлен файл с именем Reference.cs. Или еще лучше, покажите изображение того, что находится внутри папки веб-ссылок в проводнике Windows. - person fejesjoco; 03.11.2014
comment
Смотрите, вот ваш Reference.cs. В нем должен быть клиентский класс веб-сервиса. - person fejesjoco; 04.11.2014

Мне не удалось заставить веб-справку работать, но я нашел способ использовать веб-службы в качестве ссылки на службу. Я использовал эти ресурсы:

http://blogs.msdn.com/b/robcamer/archive/2009/12/21/wcf-in-net-compact-framework-3-5.aspx

http://blogs.msdn.com/b/andrewarnottms/archive/2007/09/13/вызов-wcf-services-from-netcf-3-5-using-compact-wcf-and-netcfsvcutil-exe.aspx

Я использовал компактную платформу Power Toys для .NET, чтобы создать два файла, которые я добавил в решение, а затем использовал их так же, как вы обычно используете ссылку на службу.

person Anduril28    schedule 05.11.2014