gpt4 book ai didi

wcf - Windows Mobile 开发 - 从哪里开始?

转载 作者:行者123 更新时间:2023-12-03 10:24:02 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。




9年前关闭。




好的,我很快就会开始 Windows Mobile 开发的道路。我真的对这个主题一无所知,我正在寻找有经验的人,让我知道你可能知道的任何问题。

现在我什至没有简要说明需要什么,但假设应用程序将只不过是一堆用于更新数据的 CRUD 表单。我拥有的唯一其他要求知识是,当没有可用信号时,应用程序需要支持离线存储。当信号返回时,这显然需要某种同步。

我最初的想法是,该应用程序主要是与 Web 服务层交互的前端。我假设 WCF 将成为构建这些服务的合适技术?我还认为 SQL Server CE 将是解决离线存储问题的好方法。

您认为在该领域内有用的任何知识将不胜感激。建议,链接,书籍任何赞赏。

编辑:已经注意到有两种方法可以进行离线同步。要么使用某种形式的消息队列,要么使用 SQL 同步工具。谁能提供一个很好的比较和介绍这些?

编辑 2:经过多一点挖掘,我得到的印象是,我可以在这里使用基本上 3 种不同的方法:

  • 嵌入式数据库查询然后在线同步,如果可以
  • MSMQ 以及 .NET 远程处理
  • WCF 与使用 Exchange Server 的 ExchangeWebServiceMailTransport 绑定(bind)。

  • 现在,在第一个问题上提出了一些很好的观点,我想我在某种程度上理解了我将面临的问题。但我想获得更多关于 MSMQ 实现和使用 WCF 新绑定(bind)的信息。

    最佳答案

    这里是我迄今为止(大约 9 个月)的 .net Windows Mobile 开发经验中的几句话。

  • 好吧,你偶尔会联系。 (或者更有可能偶尔断开连接)。您必须选择是使用队列消息传递(即 WCF/SOAP/XML 或类似的东西)还是数据库同步。我选择了 SQL 同步路由,因此我无法真正评论消息传递。 SQL 同步路线并非一帆风顺!
  • 如果你像我一样使用 SQL compact 沿着同步路线走,你基本上有两个选择。 SQL Server 合并复制或更新的 ADO.NET 同步服务。如果您选择前者,您需要非常小心您的数据库设计,以确保它可以轻松地在移动订阅者和发布者之间进行分区。您确实需要考虑冲突,并且拆分通常不会在规范化数据库设计中拆分的表是一种方法。您必须考虑设备离线一段时间并且发布者数据库(即主数据库)和/或订阅者更改相同数据的情况。当设备重新联机时会发生什么?即使您已经很好地划分了事物,这也可能意味着解决冲突。这是我被烧死的地方。但是 SQL Merge Replication 可以很好地工作并减少您必须编写的代码量。
  • 滚动你自己的 DAL。不要尝试直接从 UI 代码中使用数据读取器等,也不要使用类型化的数据集。可能有第三方 DAL 可以与 Windows Mobile 一起使用(即我知道 LLBLGEN 可以,可能值得一看),但不支持 Linq-to-SQL,无论如何你需要一些轻量级的东西。 DAL 的可能性不会太大,所以你自己滚吧。
  • 如果您使用的是 .net,您可能最终会想要一些未实现的平台功能。我建议使用这个廉价的框架来为您提供您所缺少的(尤其是与连接和电源管理相关的)- http://www.opennetcf.com/Products/SmartDeviceFramework/tabid/65/Default.aspx
  • Windows Mobile 设备在不使用时会部分关闭以节省电量。如果您正在进行轮询式设计,则需要每 x 分钟唤醒一次。普通的.net 计时器类不会这样做。您需要使用可从 OpenNetCF(上图)使用的平台功能。计时器类称为 LargeIntervalTimer,位于 OpenNetCF.WindowsCE 程序集/命名空间中(我认为)。

  • 祝你好运!

    关于wcf - Windows Mobile 开发 - 从哪里开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/377604/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com