2010-02-02 14 views

Répondre

0

Je peux répondre à ma question maintenant,

Im ne pas utiliser plus SOAP pour télécharger mes fichiers dans ma solution, Im en utilisant HttpWebRequest maintenant,

1) oui im ​​téléchargeant mes gros fichiers en morceaux (chaque mandrin est 1 Mo), 2) chaque morceau (1 Mo) peut me faire progresser chaque BufferSize (4 Ko dans mon cas);

donc il y a une grosse boucle, foreach (Chunk in File) {}.

et à l'intérieur de la grande boucle il y a une autre boucle, comme Im en utilisant HttpWebRequest:

long buffer = 4096; 
Stream stm = request.GetRequestStream(); 
while (remainingOfChunkWithReq != 0) 
{ 
    stm.Write(buffer, 0, bytesRead); 
    remainingOfChunkWithReq = remainingOfChunkWithReq - bytesRead; 
    bytesRead = memoryStream.Read(buffer, 0, bytesSize); 
    //Send Progress 
} 

continuent alors d'envoyer la demande. et recevoir la réponse.

1

Vous pouvez essayer d'envoyer le fichier en "morceaux", comme 1 Mo à la fois plutôt que de tout envoyer en même temps? De cette façon, à la fin de chaque segment, vous pourrez mettre à jour la progression.