Im essayant de télécharger un fichier via une demande SOAP, et cela a fonctionné parfaitement, mais je ne pouvais pas obtenir une progression pour le montant téléchargé de la demande.SOAP, obtenir la progression de la demande téléchargée pendant son téléchargement C#
Répondre
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.
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.