c# - C#中用于单个进程的简单持久消息队列

标签 c# .net windows-mobile persistent-storage

我正在用 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/

相关文章:

c# - 在调用 SaveChanges 之前从 EF 集合中获取对象

c# - .NET Framework 4.6.2 类库中的目标 .NET Core 类库

jquery - 从不同域加载页面的最快方法

c# - Windows Mobile 6.1 - .NET CF StatusBar 控件 - 嵌入图标

c++ - Windows Mobile 中的触摸友好 GUI

c# - 从 StackTrace 中过滤掉非用户代码方法

c# - 运算符中的交换性

c++ - 如何在 ICE Mobile 上检索 IHTMLDocument2 界面

c# - 内存管理——C# VS Objective C?

c# - CancellationTokenSource 需要建议