2009-06-01 50 views
1

我試圖使用MSMQ從移動設備發送消息到服務器上的遠程專用隊列。無法通過MSMQ從WindowsMo​​bile設備發送消息

最新情況? 移動代碼發送消息時,我不會遇到任何錯誤。如果我查看移動設備上的msmq文件夾,它確實爲它發送到的遠程設備創建了一個.oq(出站隊列)文件。

我正在使用Direct = TCP和隊列格式名中的IP地址。我已驗證相同的代碼在我的桌面上運行時沒有問題。該消息正確傳遞。

我不相信代碼是問題。也許我錯過了一些必須在移動環境中完成的事情,以允許消息離開隊列並交付給服務器。

事情我已經驗證或進行排查:

  1. 我覈實,一切從使用驗證visadm報道是可以接受的。
  2. 爲MSMQ啓用二進制。
  3. 日誌報告MSMQ啓動時沒有錯誤。
  4. 所有SDK證書都安裝在設備上。
  5. 發送出站郵件時會創建.oq文件。
  6. 郵件上啓用了期刊和deadletter。 (沒有什麼是服務器報告爲無法投遞 - 我不相信它永遠不會連接)
  7. 網絡是活動和有效的(我可以通過瀏覽器訪問服務器上託管的網頁)
  8. 服務器MSMQ有效(I可以從桌面使用相同的代碼和傳送消息)
  9. 通過正確visadm爲MSMQ在移動裝置上的狀態報告。

我希望有人可能熟悉Windows Mobile上的MSMQ,他們可能會給我一些關於我可能沒有檢查或啓用的建議。

我在設備上使用.Net CF 3.5並在C#中編碼,雖然我說代碼似乎不是問題。

預先感謝任何幫助

+0

WinMo設備如何連接到網絡?在搖籃中的ActiveSync?無線上網?其他? – ctacke 2009-06-01 19:11:24

回答

1

看來問題是服務器使用的事務性消息隊列。一旦我將XACTONLY添加到我的消息隊列字符串的末尾,並將Send方法更改爲使用System.Messaging.MessageQueueTransactionType.Single它的工作。你會認爲它會拋出一個錯誤或讓你知道這是必要的。