Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Базы данных под .NET > Синхронизация sdf |
Автор: erm0l0v 19.6.2012, 11:01 |
Доброго времени суток. В моей задаче требуется выполнить синхронизацию баз SDF на компьютерах в локальной сети. Для синхронизации можно использовать Sync Framework в котором есть стандартные провайдеры для синхронизации sdf. Но для работы провайдера необходимо создать подключение в базе. Я не могу подключиться к базе на удаленном компьютере, вернее теоритически это возможно, например если положить базу в расшаренную папку, но это не очень хорошее решение. Кроме того что база будет лежать в расшаренной директории, SQL Compact 3.5 не поддерживает множественные подключения, то есть в момент синхронизации приложение не сможет работать с базой и наоборот. На каждой машине с базой запущен процесс который и использует базу. Я планировал выполнить синхронизацию по сети: через именованные каналы или WCF. И в таком случае синхронизация будет выглядеть так: с одной стороны мы указываем стандартный провайдер, с другой самописный провайдер который выполняет синхронизацию по сети. На сколько это хорошее решение? Возможно есть вариант проще, например возможность добавить прокси для стандартного провайдера? Есть ли у вас опыт разработки подобных схем синхронизации? Возможно вы сможете поделиться полезными примерами или статьями на эту тему? |
Автор: erm0l0v 21.6.2012, 08:37 |
Пытался создать прокси для существующего провайдера, но столкнулся с несколькими трудностями (то объект который используется в качестве параметра не сереализуется, то класс нельзя переопределить). Видимо все таки придется писать свой провайдер. Подскажите, вы никогда не сталкивались с созданием своего провайдера для sdf? Буду признателен если дадите какие нибудь полезные ссылки. Особенно интересует возможность создание своего провайдера, и использованием стандартного хранилища методанных. (Уж очень не хочется все писать с нуля, тогда и использования Sync не очень оправданно) |
Автор: erm0l0v 21.6.2012, 12:47 |
Решил проблему. Если кому интересно сделал по http://code.msdn.microsoft.com/windowsdesktop/Database-SyncSQL-Server-e97d1208 |