3

MSDNによると、メッセージ ペイロードは最大 8KB (8192 バイト) まで拡張される場合があります。

AddMessage メソッドは、メッセージをキューの最後に追加します。メッセージのサイズは最大 8 KB です。その内容は、UTF-8 でエンコードできる形式である必要があります。

ただし、キューにメッセージを追加すると、ペイロードが 8192 バイト未満である必要があるメッセージの例外を受け取ります。魔法の領域は約 6500 バイトのようです。私が送信しているデータは純粋な文字列であり、そのサイズは、.Lengthメンバーと、それらが取得されたソースによって送信された長さの両方から検証されます (CRLF 区切り文字には一定の 2 バイトの違いがあります)。

私の質問は2つあります:

1) メッセージ ペイロードに追加された隠しデータによって、サイズが膨張したり、このような奇妙な動作が発生したりすることはありますか? (ペイロードだけでなく、オブジェクト全体に適用される制限など、しかし、それでも、メッセージごとに 1.5KB をどのように説明できるでしょうか?)

2)ペイロードが実際に 8192 未満であることを確実に確認するにはどうすればよいですか?

いくつかの追加情報: 私は VS 2010 Ultimate で Azure SDK 1.4 を使用しており、SQLExpress (2008 だと思います) を使用してコンピューティング エミュレーターとストレージ エミュレーター (まだこのアプリを展開していません) を実行しています。

また、最大サイズが 8192 バイトであることをコードで確認しました (追加のシステム制限が課された場合)。

Trace.WriteLine("Max Queue Message Size: " + CloudQueueMessage.MaxMessageSize, "CloudQueueMessage");

CloudQueueMessage: 最大キュー メッセージ サイズ: 8192

4

1 に答える 1