2010-03-15 3 views
0

Je fais ce projet où je dois télécharger des fichiers via un webservice (images, vidéos). Le téléchargement DOIT passer par un webservice existant. Le webservice existant a été créé quand il n'y avait pas besoin de télécharger et télécharger des fichiers mais le projet a changé et maintenant nous devons le faire via un webservice.ASP.NET - fast Chargement segmenté de fichiers via webservice

Actuellement, j'ai implémenté le téléchargement comme méthode qui retourne un octet [], j'ouvre un lecteur de flux et retransmet le fichier entier dans un octet [] et le renvoie à ma méthode. Ceci est le fichier de travail sur les petits fichiers < ~ 1Mb, ci-dessus cela prend trop de temps. Je veux montrer quelques progrès (par exemple lorsque l'utilisateur télécharge une vidéo de 20 Mo) que je ne peux pas faire maintenant. Et je veux le faire télécharger beaucoup plus rapidement (est une stratégie pour utiliser le multithreading et plusieurs threads qui télécharge une partie du fichier?). C'est dans une application WPF que j'ai besoin de le faire.

Des idées sur la façon d'aborder cela?

Répondre

0

Vous ne pouvez pas faire ce que vous voulez faire en utilisant les anciens services Web ASMX. Ils tamponneront l'entrée en interne, plusieurs fois.

Vous avez besoin d'un moyen de passer à WCF, au moins pour cette nouvelle fonction. Vous pouvez conserver l'ancien code, mais vous avez besoin d'un nouveau service WCF pour gérer correctement le nouveau.

+0

En quoi cette technique particulière diffère-t-elle de asmx dans wcf? Comment voulez-vous dire "tampon interne de l'entrée plusieurs fois"? –

+0

Merci de m'indiquer dans la bonne direction, trouvé celui-ci: http://www.codeproject.com/KB/WCF/WCF_FileTransfer_Progress.aspx qui m'a guidé plus loin. –