0

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>
  1. のサイズxml header = 21
  2. コンテンツを含まないルート要素のサイズ:string></string> = 17
  3. ヘッダーとルートの間の改行:\r\n = 2
  4. ルート要素のコンテンツ=584

-----合計=624バイト

584を585に増やしようとすると、十分なリソースがないというエラーが表示されます。[メッセージストレージの制限]を2(KB)に変更すると、2048バイト以下も送信できなくなります。

ここで何が恋しいですか?

4

0 に答える 0