创建简单队列 Compact Framework 的最佳实践

Best Practice creating simple queue Compact Framework

我们正在 Windows CE Embedded 7.0 上使用 .net Compact Framework 3.5 运行 创建一个应用程序。这个应用程序从我们不同的车辆收集不同的数据并将它们发送回我们的服务器。

我们面临的问题是连接丢失,这种情况经常发生,因为接待处有时很糟糕(隧道、树林等)。

如果连接断开大约 15 分钟,大量数据将无法到达服务器。现在的问题是,我们应该如何处理这些数据?使用现有的队列框架之一?创建我们自己的?

我们需要的一些东西是或很棒的东西:

我搜索了很多,但没有找到任何东西。你们有什么想法吗?

我希望这是正确的地方,它似乎是专门针对软件推荐的。谢谢

我没有解决方案,但客户正在使用第 3 方框架,例如 MCL,或者编写自己的 'queue-based' 同步框架。

MSDN

上有一篇不错的文章

一种解决方案是使用基于文件的消息传递系统和单独的通信进程,与主进程分离。每条消息(数据)都是一个文件,通信器处理这些文件并更新主进程或远程数据服务器。我已经使用 ftp 完成了一些单向解决方案,还有一个使用电子邮件。电子邮件系统的优点是已经持久且基于 'queue'。

另一种解决方案使用 SMS 向客户端发送更新和处理信息。

因为我使用 Compact Framework 队列来分离主进程和通信,所以我没有使用这些来保持热启动。但是只要在每个 EnQueue 或 DeQueue 上定期保存队列对象,使用序列化应该不是问题。

我的提示是使用 CF 队列并使用序列化持久化它们。如果您随后使用 Web 服务或其他任何方式在服务器和客户端之间传输数据,这没有任何区别。您是否考虑过同一服务器数据重复更新的并发更新和同步错误,或者这不是问题吗?

OTOH MS 为 SQL Server/SQL Server Compact 提供了一个处理数据同步的同步框架。它需要 SQL 服务器端的 IIS。