Мне нужно обработать большой байтовый массив, который передается моей функции. Мне нужно скопировать содержимое этого входного байтового массива небольшими «кусками» в исходящий байтовый массив.
Для каждого «куска» данных, созданных в исходящем массиве, мне нужно вызвать веб-сервис.
По возвращении мне нужно возобновить цикл по входящему байтовому массиву, продолжая передавать весь или частичный кусок данных до тех пор, пока не будет обработан весь входящий массив (то есть отправлен в веб-службу порциями).
Я очень новичок в C # и борюсь с циклом, который работает. Я знаю, как вызвать веб-сервис для обработки «чанка», но я не могу получить правильный цикл. Вот набросок жалкого беспорядка, который у меня сейчас есть:
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
}
Я знаю, что это беспорядок и не сработает; может кто-то набросать правильную петлю, чтобы сделать это? Спасибо большое.