関数に渡される大きなバイト配列を処理する必要があります。この受信バイト配列の内容を、より小さな「チャンク」で送信バイト配列にコピーする必要があります。
アウトバウンド配列で作成されたデータの「チャンク」ごとに、Web サービスを呼び出す必要があります。
戻ったら、受信バイト配列のループを再開し、完全な受信配列が処理される (つまり、チャンクで Web サービスに送信される) まで、データの全体または一部のチャンクを渡し続ける必要があります。
私はC#が初めてで、機能するループに苦労しています。「チャンク」を処理するために Web サービスを呼び出す方法は知っていますが、ループを正しく行うことができません。ここに私が現在持っている哀れな混乱のスケッチがあります:
int chunkSize = 10000;
byte[] outboundBuffer = new byte[chunkSize];
while (BytesRead > 0)
{
long i = 0;
foreach (byte x in incomingArray)
{
BytesRead += 1;
outboundBuffer[i] = incomingArray[i]
i++;
}
uploadObject.Size = BytesRead;
uploadObject.MTOMPayload = outboundBuffer;
// call web service here and pass the uploadObject
// get next "chunk" until incomingArray is fully processed
}
私はこれが混乱していてうまくいかないことを知っています。誰かがこれを行うための適切なループをスケッチできますか? どうもありがとう。