64K の制限がある Azure キューを介して、圧縮された Base64 データを送信する必要があります。
私のコードはデータを圧縮してから、Base64 文字列としてエンコードします。
圧縮およびエンコードされた文字列が 64000 バイトを超えていないことを確認します (以下の encodedLen を参照)。ただし、~57,000 バイトのメッセージを追加しようとすると、コードがクラッシュしました。
var byteString = Encoding.UTF8.GetBytes(articleDataToSend);
var compressed = QuickLZ.compress(byteString, 1);
var encoded = Convert.ToBase64String(compressed);
var encodedLen = Encoding.UTF8.GetByteCount(encoded);
if(encodedLen < 64000)
{
QueueMessage(_nlpInputQueue, encoded);
}
Visual Studio 2012 と .Net 4.5 を使用しています。
ここで何が欠けていますか?