1

我正在使用 .net 客户端将消息发布到托管在 Unix 上的 MQ 服务器。它在消息之前添加了一些控制字符。像下面

**^CD**<request> 

Queue 连接是通过 SSL Table 通道连接的。我正在使用的代码是

MQQueueManager queueManager = new MQQueueManager ; 
int openOptions = MQC.MQOO_OUTPUT + MQC.MQOO_BIND_NOT_FIXED + MQC.MQOO_FAIL_IF_QUIESCING; 
MQQueue Queue = queueManager.AccessQueue("TestQueue", openOptions); 
MQMessage queueMessage = new MQMessage(); 
queueMessage.WriteUTF("<request>"); 

MQPutMessageOptions MessageOptions = new MQPutMessageOptions(); 
Queue.Put(queueMessage, MessageOptions); 

请让我知道是什么导致了这个特殊字符

4

1 回答 1

1

来自 IBM 自己的doco on WriteUTF

此方法采用 ActiveX 字符串并将其以 UTF 格式写入当前位置的消息数据缓冲区。写入的数据由 2 字节长度后跟字符数据组成。如果方法成功,DataOffset 会增加字符串的长度。

如果您不想要那个长度,请考虑WriteString改用(按照上面的 doco 链接,然后在导航窗格中向上走几行)..

于 2010-05-18T01:41:59.453 回答