【问题标题】:Can Windows Mobile Synch Services use a business layerWindows Mobile 同步服务能否使用业务层
【发布时间】:2010-05-13 08:40:21
【问题描述】:

我们正在构建一个 Win Mobile 6 仓库应用程序,该应用程序需要更新我们基于服务器的公司数据库。

我们的应用服务器上有一个 C# 业务层,我们真的希望我们的仓库应用能够通过它。

我们也喜欢 MS 同步服务。

有没有办法将两者结合起来,即我们可以使用同步服务但让它们通过我们的业务层?有没有人这样做并有一个我可以效仿的例子?这种情况有最佳实践吗?

谢谢,

安迪

【问题讨论】:

    标签: windows-mobile synchronization business-logic


    【解决方案1】:

    通过覆盖应用更改来实现: 服务器端(即 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/

    【讨论】:

      猜你喜欢
      • 2012-05-11
      • 2012-09-25
      • 1970-01-01
      • 2010-11-04
      • 2011-12-06
      • 2011-06-16
      • 2018-08-02
      • 2014-04-13
      • 1970-01-01
      相关资源
      最近更新 更多