我正在用 C# 为 Windows Mobile 开发一个简单的消息系统。该应用程序包括使用 Web 服务通信发送和接收简单的文本消息。消息队列应该是持久的,避免在与 Web 服务的连接失败或应用程序崩溃时丢失数据。
我知道 MSMQ、RabbitMQ、DotNetMQ,但它们应该安装在设备中,这是非常简单的设备,我不想为了这个简单的任务而在每个手机中安装任何其他工具。
我已经实现了将带有消息的 XML 序列化队列写入文件的功能,并且我始终从该文件读取和写入。
如果有更好的办法解决这个问题,我将不胜感激。 谢谢
最佳答案
MSMQ Windows Mobile 6.5 设备本身支持不需要安装。顺便说一句:工业领域仍有许多供应商提供基于 WM65 的设备,所以这还没有过时。
基于 Windows Mobile (CE) 的 MSMQ 持久且易于使用。它通常用于设备上的进程间通信或客户端服务器通信(这需要在“服务器”上安装 MSMQ)。
因此,主线程创建一个 MSMQ,您进程中的一个线程填充 MSMQ,另一个线程可以“查看”并在成功传输后“出列”来自同一个 MSMQ 的消息。参见 here举个简单的例子。
关于c# - C#中用于单个进程的简单持久消息队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38596806/