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