Я пишу приложение, которое будет отдельным приложением WPF, а также урезанной версией, которая будет работать как Silverlight и, таким образом, размещаться в браузерах. Я хочу, чтобы приложение Silverlight получало доступ к данным из облака. Приложение WPF должно работать с локальной базой данных, но при этом иметь возможность синхронизироваться с тем же облачным хранилищем.
Поэтому мне нужны следующие сценарии для работы. Silverlight работает напрямую с данными, хранящимися в облаке. Приложение WPF работает с локальной базой данных. Но приложение WPF имеет возможность при запуске перейти в облако и получить последнюю версию в случае изменений, внесенных в Интернете с момента последнего запуска приложения WPF. Когда пользователь заканчивает работу с приложением WPF, он может снова синхронизировать изменения, внесенные в облако. Это обеспечивает лучшую производительность во время запуска WPF, а также позволяет запускать его в автономном режиме и синхронизировать позже, когда у вас есть соединение.
Какая лучшая технология доступна для этого? Я знаю, что есть Sync Framework, SQL Server Data Service, ADO.NET Entity Framework и SQL Server Compact Edition, которые помогают с доступом к данным, но я не уверен, можно ли заставить их работать вместе для реализации представленного сценария.
Я сам все это реализую? Большая часть из них предоставляется бесплатно, и мне нужно только синхронизировать? Если у вас есть глубокие познания в технологиях доступа к данным Microsoft, я был бы признателен за ваш вклад в разработку.