Могут ли службы синхронизации Windows Mobile использовать бизнес-уровень - PullRequest
0 голосов
/ 13 мая 2010

Мы создаем складское приложение Win Mobile 6, которому необходимо обновить корпоративную базу данных на основе сервера.

У нас есть бизнес-уровень C #, который находится на нашем сервере приложений, и нам бы очень хотелось, чтобы наше складское приложение прошло через него.

Нам также нравятся MS Synch Services.

Есть ли способ объединить два, то есть мы можем использовать службы синхронизации, но заставить их пройти через наш бизнес-уровень? Кто-нибудь сделал это и получил пример, которому я могу следовать? Есть ли лучшая практика для такого сценария?

Спасибо

Andy

1 Ответ

0 голосов
/ 18 мая 2010

Понял, применив изменения: Сторона сервера (т.е. PFS.WarehouseHandheld.SyncServiceLibrary) 1. В SyncServiceLibrary создайте новую реализацию SyncContract.

  1. Новый SyncContract наследует сгенерированный SyncService (и, следовательно, реализует интерфейс IXXXSyncService WCF.)

  2. В этой новой реализации переопределите ApplyChanges, чтобы перехватывать изменения, передаваемые на ваш сервер, проходить через изменения, подробно описанные в переданном параметре dataSet, определять таблицу, измененную из dataSet.Tables [i] .TableName.

  3. Гидратируйте соответствующий DTO из каждого ряда в таблице и протолкните его через соответствующий контроллер BLL.

  4. В файле app.config вашей библиотеки подключите другой system.serviceModel / services / service. Это должно совпадать с исходным узлом службы для сгенерированной реализации контракта, но для другого имени.

Клиентская сторона (т.е. CF / Windows Mobile) 1. Добавьте веб-ссылку в ваш новый сервис (наш называется PFSDatastore2CacheWebRefBLL) и взломайте его, как указано в пошаговом руководстве, для удаления дублирующегося сгенерированного кода.

  1. В своем коде вызова Sync обратитесь к новой управляемой BLL службе (т.е. _webSvcProxy = new PFSDatastore2SyncServiceBLL ();) и сделайте, как раньше.

Подробности на http://handhelddeveloper.wordpress.com/2010/05/18/sync-thru-your-business-layer/

...