Целесообразно ли иметь WCF-службу как с DomianService, так и с поддержкой Silverlight - PullRequest
0 голосов
/ 04 октября 2010

В настоящий момент создается впечатление, что класс RIA Domain Services не может возвращать пользовательский тип sinlge.

Есть части моего приложения, которые нуждаются именно в этом, поэтому подумайте, что единственный способ получить это - перезвонить простой службе WCF с поддержкой Silverlight, которая, как я полагаю, не будет иметь проблемы с возвращением пользовательского типа. Я не вижу, где клиентское приложение Silverlight имеет какую-либо ссылку на Ria Services. Как настроить службы Ria и WCF на клиенте silverlight. Будет ли служба WCF «осведомлена» об аутентификации, уже имеющейся со службами RIA?

1 Ответ

2 голосов
/ 04 октября 2010

Это одна из моих самых больших ошибок RIA Services :).Хорошая вещь заключается в том, что они находятся в процессе предоставления возможности возврата сложных типов из методов invoke (согласно пользовательскому голосовому сайту для RIA Services).Однако это вам сейчас не поможет:).

Лучший способ реализовать ваше требование возврата сложных объектов - это на самом деле настроить стандартную службу WCF для возврата сложных типов при необходимости.Вы делаете это обычным способом, которым вы выставляете WCF в любом веб-проекте.Затем вы используете его в своем приложении Silverlight практически так же, как вы использовали бы службу WCF в любом другом типе проекта (добавляя его в качестве ссылки на службу).Основное отличие при его использовании (по сравнению с другими типами проектов) заключается в том, что Silverlight поддерживает только асинхронные вызовы.Одно из отличий, которое следует знать от RIA Services, заключается в том, что, хотя RIA Services автоматически определяет URI доменных служб (в зависимости от того, откуда произошел XAP-файл), вам придется самостоятельно обрабатывать этот аспект (очень важно при попытке развернутьприложение :).Сделайте это, установив URI в файле app.config, или используйте метод, который я использую в коде, сопровождающем эту статью здесь: http://www.silverlightshow.net/items/Building-a-Framework-for-Silverlight-Line-Of-Business-Applications.aspx.

Что касается вашего последнего вопроса, да, RIA Services использует стандартныеАутентификация ASP.NET, поэтому cookie-файл, который он использует для поддержания вашего статуса аутентификации, также используется любыми службами WCF в том же проекте.В этой статье я немного расскажу о безопасности служб WCF, если вам нужна дополнительная информация: http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-3.aspx.

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

Крис

...