我正在尝试使用MSMQ从移动设备向服务器上的远程专用队列发送消息。
发生了什么事? 移动代码发送消息时,我没有遇到任何错误。如果我查看移动设备上的msmq文件夹,它确实为它发送的远程创建了一个.oq(出站队列)文件。
我在队列的formatname中使用Direct = TCP和IP地址。我已经验证了相同的代码在我的桌面上没有问题。消息正确传递。
我不相信代码是问题。也许我遗漏了一些必须在移动环境中完成的事情,以允许消息离开队列并传递到服务器。
我已经验证或已完成排查的事项:
我希望有人可能熟悉Windows Mobile上的MSMQ,他可能会就我未检查或启用的内容给出一些建议。
我在设备上使用.Net CF 3.5并在C#中编码,但正如我所说,代码似乎不是问题。
提前感谢您提供任何帮助
答案 0 :(得分:1)
似乎问题是服务器使用了Transactional Message Queue。一旦我添加; XACTONLY到我的消息队列字符串的末尾并更改了Send方法以使用System.Messaging.MessageQueueTransactionType.Single它工作。您会认为它会引发错误或某些事情让您知道这是必要的。