мы перестраиваем наше ERP-приложение из процедурно запрограммированного настольного приложения в веб-решение и хотим использовать Silverlight вместе с сервисом WCF. Сейчас мы боремся с продуманным дизайном нашего нового SL-приложения (все еще на стадии планирования / исследования). Проблема, которую мы пытаемся решить, заключается в более или менее «привязке» Silverlight-клиента к WCF.
Запланированный дизайн на данный момент выглядит следующим образом:
DataStore (Oracle DB) <-> SubSonic / ORM <-> WCF <-> Клиент
Проблема заключается в том, что изменение наших сущностей, методов, коллекций на стороне WCF требует обновления сущностей и т. Д. На клиенте из-за использования «Service reference» в VS2010. Мы попытались передать ссылку на службу в «Библиотеку классов Silverlight» («Proxy-Project»), чтобы клиентское приложение было более свободно связано с WCF, поскольку оно просто ссылается на Proxy-Project и любые изменения в на стороне сервера мы просто должны обновить прокси-библиотеку и перекомпилировать ее. К сожалению, это не работает так, как хотелось бы, потому что при компиляции клиента компилятор сказал, что библиотека классов была скомпилирована с неверной версией и «запросил» библиотеку 2.0.5.
Так что может быть хорошим дизайном для приложения silverlight в сочетании с wcf? Как, если это возможно, можно «полностью» отделить клиента от серверной части?
Мы хотим построить наше приложение с использованием Prism4, MVVM и Unity. Ввиду того, что мы не обладаем такими специальными знаниями в области Silverlight и wcf, мы ищем несколько лучших практик для действительно больших приложений Silverlight с множеством сложной бизнес-логики внутри.