我正在尝试使用 MSMQ 从移动设备向服务器上的远程专用队列发送消息。
发生了什么?移动代码发送消息时,我没有遇到任何错误。如果我查看移动设备上的 msmq 文件夹,它确实为它发送到的远程创建了一个 .oq(出站队列)文件。
我在队列的格式名称中使用 Direct=TCP 和 IP 地址。我已经验证了相同的代码在我的桌面上运行没有问题。消息已正确传递。
我不认为代码是问题。也许我遗漏了一些必须在移动环境中完成的操作,以允许消息离开队列并传递到服务器。
我已经验证或解决问题的事情:
- 我已验证使用 verify 从 visadm 报告的所有内容都是可以接受的。
- 为 MSMQ 启用二进制。
- 日志报告 MSMQ 已启动且没有错误。
- 所有 SDK 证书都安装在设备上。
- 发送出站消息时会创建一个 .oq 文件。
- 邮件上启用了日志和死信。(服务器没有报告无法送达 - 我不相信它曾经连接过)
- 网络活跃且有效(我可以通过浏览器访问托管在服务器上的网页)
- 服务器 MSMQ 有效(我可以使用桌面上的相同代码并传递消息)
- 通过 visadm,MSMQ 的移动设备上的状态报告正确。
我希望有人可能熟悉 Windows Mobile 上的 MSMQ,他们可以就我可能没有检查或启用的内容给我一些建议。
我在设备上使用 .Net CF 3.5 并使用 C# 进行编码,但正如我所说,代码似乎不是问题。
提前感谢您的帮助