2016-06-22 55 views

回答

2

MQMessage.ReadString(length)使郵件正文中的光標前移length字節。例如,如果消息正文長度爲100字節,則第一個ReadString(50)會將光標前移至51st字節,以便下一個ReadString調用將從51st字節讀取。

就你而言,第一條語句System.Console.WriteLine(mqMsg.ReadString(mqMsg.MessageLength))正在讀取整個消息正文。由於整個消息已被讀取並且光標超出消息長度,所以第二條語句Dim InfoMsg As String = SmqMsg.ReadString(mqMsg.MessageLength)會引發異常。

您可以更改代碼如下

Dim InfoMsg As String = SmqMsg.ReadString(mqMsg.MessageLength) 
System.Console.WriteLine(InfoMsg) 
+0

非常感謝你沙市,它解決問題。 –