所以我想发送一个消息到一个接受最大482字符串的队列。我发送它的字符串的长度为452.这里是该请求队列被访问的代码块:Websphere MQ&.NET - WriteString()属性使消息太长
var openOptions = MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING;
requestQueue = queueManager.AccessQueue(requestQueueName, openOptions);
var messageObject = new MQMessage();
messageObject.WriteString(message);
openReplyQueue(replyQueueName);
messageObject.ReplyToQueueName = replyQueue.Name;
messageObject.Format = MQC.MQFMT_STRING
messageObject.MessageType = MQC.MQMT_REQUEST;
messageObject.Report = MQC.MQRO_COPY_MSG_ID_TO_CORREL_ID;
messageObject.Expiry = 300;
var pmo = new MQPutMessageOptions();
pmo.Options = MQC.MQPMO_FAIL_IF_QUIESCING;
requestQueue.Put(messageObject, pmo);
与所述的MQException原因代码2030对于某些控制台输出的最后一行中的代码失败,我发现,在MQMessage对象的消息长度是904 ,正好是我尝试发送的字符串长度的两倍,并且比队列的最大消息长度长。
如何保持此缓冲区不发生并确保消息长度保持在452?
@ jollyroger23这篇信息有助于解决您的问题? – JoshMc
我这么认为@JoshMc。感谢您的帮助! – jollyroger23
@ jollyroger23没问题,很乐意帮忙。如果有帮助,请回顾一下“当某人回答我的问题时,我应该怎么做?”(https://stackoverflow.com/help/someone-answers)“。如果您发现它有帮助,请特别接受并投票。谢谢。 – JoshMc