Зачем кому-то использовать WCF basicHttp webservice поверх WCF RIA Services в Silverlight? - PullRequest
2 голосов
/ 29 марта 2011

Итак, я уже несколько месяцев пользуюсь услугами WCF Ria, и мне интересно, зачем кому-то использовать веб-сервис WCF basicHttp, а не службы WCF RIA?

Кто-то сказал мне, что RIA Services не подходит для приложений уровня предприятия, и мне интересно, почему?

Без RIA, кажется, вам нужно написать логику проверки в 2 областях: клиент и сервер. Кроме того, RIA довольно легко справляется с ролями и членством.

Сколько дополнительной работы требуется, если вы хотите использовать WCF basicHttp webservice? В чем польза от использования RIA? и ... Есть ли у кого-нибудь хорошие примеры приложений уровня Silverlight уровня предприятия, использующих веб-сервис wcf basicHttp?

Спасибо!

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Справедливо сказать, что у RIA Services были проблемы с ростом.Некоторые из моих самых больших ошибок (например, отсутствие возможности возвращать сложные объекты, которые не являются сущностями из методов Invoke, и отсутствие достойной поддержки для использования в MVVM-стиле) в основном были исправлены в RIA Services SP1.У некоторых людей, которых я знаю, используя их в крупных корпоративных приложениях, были большие головные боли (по крайней мере, в первые дни).Я не совсем уверен, где сейчас обстоят дела в этом отношении относительно того, были ли решены их конкретные проблемы.

Тем не менее, лично я считаю, что это фантастическая технология.Это облегчает задачи, которые являются болезненными со стандартными службами WCF (мое любимое - возможность задавать запросы на клиенте для методов в вашей доменной службе, которые возвращают IQueryable, которые выполняются на сервере - что упрощает сортировку / фильтрацию / группирование / разбиение на страницы),Подходит ли вам это, зависит от вашего сценария.Он предназначен, прежде всего, для облегчения выполнения операций CRUD над объектами, поэтому, если это в первую очередь то, что вам нужно, то это идеально.Службы RIA - это , предназначенные для использования только приложением Silverlight (по крайней мере, на данный момент).Вы можете получить к ним доступ от других клиентов, но не получите всех функций, которые делают их такими хорошими.Поэтому, если вам требуется поддержка других клиентских платформ, это может не подходить.

Я думаю, что RIA Services - это круто, но в конечном итоге это зависит от вашего сценария того, подходят ли они для вашего проекта.Как технология, она ориентирована на конкретные сценарии и не предназначена для решения всех мировых проблем разработки программного обеспечения.Некоторые люди, которые могут жаловаться на это, возможно, используют его не так, как было задумано, и расширяют его границы (при этом он тоже не идеален и имеет свои проблемы).Если вы сможете предоставить более подробную информацию (например, масштаб приложения, клиентские платформы, которые необходимо поддерживать, и количество разработчиков в проекте), я, вероятно, смогу дать вам несколько полезных советов.

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

Крис

1 голос
/ 29 марта 2011

Проблемы с поддержкой WCF в Silverlight связаны с ограниченным подмножеством .NET Framework, встроенного в плагин Silverlight, поскольку это, по сути, уменьшенная версия .NET Framework.В результате сокращенного времени выполнения .NET в плагине Silverlight он не имеет той же полной поддержки WCF, которую вы получаете от стандартных проектов .NET.Это было сделано для того, чтобы сделать начальную загрузку SL быстрой с точки зрения клиента и увеличить время выхода SL на рынок в качестве продукта.Имейте в виду, что подключаемый модуль SL не зависит от установленной существующей платформы .NET, поэтому на рынке представлены версии для Linux, Windows Phone 7 и OS X.

Со временем они продолжают добавлять востребованные функции. Например, Silverlight 5 будет поддерживать WS-Trust (полный список новых функций в 5 см. В здесь ).

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

http://msdn.microsoft.com/en-us/library/cc896571(v=vs.95).aspx

Имейте в виду, что вы могли быочень легко перенаправлять вызовы к более сложным службам WCF через конечные точки RIA Services, которые фактически вызывают службу напрямую со стороны сервера.

Что касается использования стандартного WCF вместо RIA ... есть преимущества, когда ваш посредникУровень имеет несколько типов клиентов, хотя с помощью RIA вы можете просто представить свои конечные точки как конечные точки SOAP 1.1 и потребовать, чтобы люди подключались с использованием этой парадигмы вместо WCF.Вы не должны использовать RIA или ничего;Вы можете смешивать и сочетать в соответствии с вашими требованиями, как вы считаете нужным.Лично я хорошо использую RIA, если это вообще возможно.

...