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
- ルート要素のコンテンツ=584
-----合計=624バイト
584を585に増やしようとすると、十分なリソースがないというエラーが表示されます。[メッセージストレージの制限]を2(KB)に変更すると、2048バイト以下も送信できなくなります。
ここで何が恋しいですか?