2009-04-29 2 views
4

У меня есть возможность использовать WCF или Microsoft Sync Framework для моего следующего проекта. Это будет база данных SQL Server, которая должна синхронизироваться с мобильным (.net cf) интерфейсом.Microsoft Sync Framework vs WCF

У меня есть несколько вопросов, 1. Схемы баз данных между двумя базами данных не будут одинаковыми.
2. На стороне сервера мне действительно нужно вызвать DLL .net для выполнения обновлений. 3. Мы хотим внести минимальные изменения в базу данных сервера. Он уже в производстве, и мы не хотим его обсуждать.

Я знаю, что могу выполнять синхронизацию с WCF между двумя конечными точками, но может ли Sync Framework действительно купить мне что-нибудь здесь?

+0

Я собираюсь отправиться в аналогичное путешествие к тому, что вы описали выше. Мне просто интересно, как вы продолжаете свой проект и какие технологии/технологии вы в конечном итоге работаете? Как и вам, мне нужно синхронизировать данные между сервером Sql и устройством Windows Mobile, а на стороне сервера все элементы select/inserts/updates/delete должны выполняться через dll, а затем переходить непосредственно в базу данных , И наконец, как ваше приложение выполняет синхронизацию? Как правило, сколько времени занимает синхронизация и сколько данных мы говорим? Если бы вы могли ответить на любой из этих вопросов, который был бы gr – ETFairfax

+0

@ETFairfax: время синхронизации сильно зависит от ширины полосы пропускания в то время, может идти от пары секунд до нескольких минут. :(Мой план атаки сильно изменился после того, как этот вопрос был опубликован (я пошел с WCF), я уже создаю веб-интерфейс REST на основе ASP.Net MVC. Базовые веб-службы MVC намного легче справиться, и я замечаю нет разницы в производительности между ними. У меня также было много проблем с настройкой WCF - ни с MVC. –

ответ

4

Вы будете разрешать изменения как на мобильном устройстве, так и на сервере? Если да, то как вы будете обрабатывать конфликты, если одна и та же запись данных будет изменена пользователем A на мобильном устройстве и пользователем B на сервере?

Большая разница между каркасом синхронизации и WCF заключается в том, что структура синхронизации была создана для обнаружения таких конфликтов и предоставляет процедуры для их обработки, а WCF - нет.

Что было сказано, вы заявляете: «На стороне сервера мне действительно нужно вызвать DLL .net, чтобы делать обновления». Если вы говорите, что это должна быть конкретная DLL, которую ваша компания либо уже или что вы разрабатываете, это, по-видимому, исключает возможность прямого обновления структуры синхронизации SQL Server. Когда вы используете инфраструктуру синхронизации, она напрямую связывается с базами данных как на сервере, так и на мобильном устройстве.

+0

DLL уже создана и используется уже некоторое время. Поэтому есть нежелание со стороны компании изменять ее И хотя структура синхронизации обнаруживает изменения, она делает это через таблицы надгробных камней и отслеживание изменений SQL Server. Я отслеживаю изменения с помощью таблиц LastUpdateDate и Tombstone. Кроме этого, только одна таблица требует двунаправленной синхронизации. в одну сторону. –

Смежные вопросы