Devo elaborare un grande array di byte che viene passato alla mia funzione. Ho bisogno di copiare il contenuto da questo array di byte in entrata in "pezzi" più piccoli a un array di byte in uscita.È necessario il ciclo per copiare blocchi dall'array di byte
Per ogni "blocco" di dati creato nell'array in uscita, devo chiamare un servizio web.
Al ritorno, ho bisogno di riprendere il ciclo attraverso l'array di byte in arrivo, continuando a passare un blocco intero o parziale di dati fino a quando l'array in arrivo completo viene elaborato (cioè inviato al servizio web in blocchi).
Sono molto nuovo a C# e sto lottando con un ciclo che funziona. So come chiamare il servizio web per gestire un "blocco", ma non riesco a ottenere il ciclo corretto. Ecco uno schizzo del pasticcio patetico che ho attualmente:
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
}
So che questo è un disastro e non funzionerà; qualcuno potrebbe abbozzare un loop appropriato per fare questo? Grazie mille.
Questo codice ha funzionato bene per me. Grazie mille per il vostro aiuto. –