在MSMQ中,我将所有队列的限制邮件存储设置为1(KB)。对于创建的队列testQueue
,我没有选中限制邮件存储,因此所有邮件的总大小应该高达1K = 1024字节。但实际上它是不。 MSMQ只收到624个字节!
这是我发送消息的方式:
var mq = new MessageQueue(@".\private$\testQueue");
var sb = new StringBuilder();
for (int i = 0; i < 584; i++)
{
sb.Append("a");
}
mq.Send(sb.ToString());
在MSMQ中,消息的主体是:
<?xml version="1.0"?>
<string>aaaaaaa...aaaaaaa</string>
xml header = 21
string></string> = 17
\r\n = 2
-----总计= 624字节
当我尝试将584增加到585时,我得到的错误是没有足够的资源。如果我将限制邮件存储空间更改为2(KB),我也无法发送2048字节但更少。
我想念的是什么?