Требуется руководство по вызову службы WCF из Silverlight 4 - PullRequest
5 голосов
/ 06 мая 2011

Хорошо, ребята, я призываю ваш объединенный интеллект.У меня есть веб-приложение с приложением silverlight, которое вызывает службу RIA.Сервис ria определен внутри веб-приложения, а все остальное просто шикарно.

Проблема в следующем.

Насколько я понимаю, для того, чтобы приложение silverlight могло говорить и знать, чтоСлужба ria, вам нужно добавить ссылку на службу для этой службы.Ссылка на службу определяет службу ria и устанавливает привязку соединения.Один из добавляемых файлов - ServiceReference.ClientConfig, в котором есть привязка соединения.В ходе разработки этого приложения именно так оно и было настроено.И это прекрасно работало локально и на сервере dev.

К сожалению, при развертывании на клиентском сервере были проблемы.В этот момент я занимался другими проектами, пока мой коллега продолжал развертывание.Вскоре он был разочарован глупыми ошибками, которые происходили, и набрал некоторую помощь.Этот разработчик пришел и, пусть и получил его, но для этого он удалил ссылку на сервис из проекта silverlight, но оставил ServiceReference.ClientConfig, который указывал на местоположение сервиса в веб-приложении (но это так, нетопределение или объяснение того, что делает сервис, и я не уверен, как приложение Silverlight должно знать, как с ним работать ..).Это прекрасно работает на моей рабочей станции коллег, и он отлично развернул эту версию на клиентском сервере.

Когда я открываю проект, он вообще не запускается.И причина в том, что он не знает, какой сервис я использую в коде.В частности, он не знает, где это (имена изменены для уточнения):

Imports SilverlightApp.ServiceReference.WebApp.Service

Я очистил решение, полностью удалил и получил последнюю версию из системы контроля версий, построилСначала веб-приложение и убедитесь, что сервер разработки asp.net работает так, что адрес в ServiceReference.ClientConfig разрешен правильно.Но, увы, он до сих пор не знает, что такое Imports SilverlightApp.ServiceReference.WebApp.Service.

Итак, чтобы заставить его работать на моей рабочей станции, я добавил ServiceReference, но сохранил текущие привязки соединения, чтобы он соответствовал конечной точке ввеб-приложение веб-конфигурации.и изменил оператор импорта на Imports SilverlightApp.ServiceReference и все работает нормально.

В чем причина этого безумия?!?!

1 Ответ

2 голосов
/ 06 мая 2011

Все, о чем вы говорите, связано со службой WCF, а не со службой RIA WCF. Они работают совершенно по-разному при использовании их в вашем клиентском приложении.

Службе WCF потребуется ссылка на службу и ServiceReference.ClientConfig.

Служба WCF RIA не предоставляет. Ссылка на службу RIA WCF устанавливается в свойствах проекта silverlight на вкладке Silverlight внизу. При сборке он сгенерирует код контекста на стороне клиента в папке Generated_Code. Показать все файлы, и вы увидите его.

Надеюсь, это поможет?

Kevin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...