我们正在构建一个需要更新基于服务器的公司数据库的Win Mobile 6仓库应用程序。
我们的应用服务器上有一个C#业务层,我们真的很喜欢我们的仓库应用程序。
我们也喜欢MS Synch Services。
有没有办法将两者结合起来,即我们可以使用同步服务,但让他们通过我们的业务层吗?有没有人这样做,并得到一个我可以遵循的例子?这种情况是否有最佳实践?
谢谢,
安迪
答案 0 :(得分:0)
通过覆盖应用更改来实现目标: 服务器端(即PFS.WarehouseHandheld.SyncServiceLibrary) 1.在SyncServiceLibrary中,创建一个新的SyncContract实现。
新的SyncContract继承了生成的SyncService(& so实现了IXXXSyncService WCF接口。)
在这个新实现中,覆盖ApplyChanges以拦截被推送到服务器的更改,循环通过传递的param dataSet中详述的更改,确定从dataSet.Tables [i] .TableName。
<更改的表。 / LI>从表格中的每一行中水合适当的DTO&amp;通过适当的BLL控制器推送它。
在您图书馆的app.config中,插入另一个system.serviceModel / services / service。这应该与生成的合同实现的原始服务节点相同,但名称不同。
客户端(即CF / windows mobile) 1.为您的新服务添加Web引用(我们的名称为PFSDatastore2CacheWebRefBLL)&amp;按照演练中的指示进行破解,以删除重复生成的代码。
http://handhelddeveloper.wordpress.com/2010/05/18/sync-thru-your-business-layer/
的详细信息