Как получить доступ к сервису RIA WCF от службы Windows?

У меня есть функционирующее приложение Silverlight 4 (VS2010, SL4, WCF RIA, размещенная на моем dev поле с помощью Cassini, 64-разрядного Windows 7). В каталоге ClientBin у меня есть .svc файл, который описывает мой сервис:

<% @ServiceHost Service="MyApp.Services.MyService 
Factory="System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory" %>

Когда я просматриваю на http://localhost:52878/ClientBin/MyApp-Services-MyService.svc, я вижу следующее:

Вы создали сервис. Для тестирования этого сервиса необходимо будет создать клиент и использовать его для вызова сервиса. Можно сделать это использование инструмента svcutil.exe из командной строки со следующим синтаксисом: svcutil.exe http://localhost:52878/ClientBin/MyApp-Services-MyService.svc?wsdl

Я хочу получить доступ к тому сервису из приложения службы Windows. Мое понимание - то, что я должен включить конечные точки SOAP, чтобы заставить это произойти. Так, я добавляю следующее к своему web.config файлу:


  
    
  

Во-первых, Intellisense жалуется на присутствие тега, заявляя:

Система элемента. ServiceModel имеет недопустимый дочерний элемент domainServices.

Во-вторых, вышеупомянутое приложение Silverlight прекращает работать, по-видимому, потому что это изменение повреждает базовые веб-сервисы.

В-третьих, кажется что Система. ServiceModel. DomainServices. Несущая сборка на самом деле не содержит тип SoapXmlEndpointFactory; если я пытаюсь просмотреть к сервису после добавляющего вышеупомянутого к web.config, я вижу:

Не мог загрузить тип 'Система. ServiceModel. DomainServices. Хостинг. SoapXmlEndpointFactory' от блока 'Система. ServiceModel. DomainServices. Хостинг, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

Если я осматриваю блок с помощью Отражателя, я вижу, что он содержит типы DomainServiceEndpointFactory и PoxBinaryEndpointFactory, но никакой SoapXmlEndpointFactory.

Кто-то мог сообщить мне, как я должен делать это? Я не могу полагать, что это должно быть это трудно для простого потребления сервиса RIA WCF в чем-то другом, чем приложение Silverlight!

7
задан SteveC 9 December 2011 в 10:25
поделиться

2 ответа

Вы пробовали просто запустить

svcutil.exe http: // localhost: 52878 / ClientBin / MyApp-Services-MyService.svc? Wsdl

Вы также установили Инструментарий служб RIA? http://www.microsoft.com/downloads/details.aspx?FamilyID=7b43bab5-a8ff-40ed-9c84-11abb9cda559&displaylang=en

Требуется для SOAP и JSON конечные точки

2
ответ дан 7 December 2019 в 05:19
поделиться

Класс SoapXmlEndpointFactory является частью сборки

Microsoft.ServiceModel.DomainServices.Hosting

, которая включена в Silverlight Toolkit.

См. здесь

1
ответ дан 7 December 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: