2009-02-06 6 views
2

J'ai beaucoup cherché et je n'arrive pas à trouver une bonne solution stable, donc toute aide sera appréciée .Télécharger et télécharger de gros fichiers - Windows Mobile (Compact Framework) via les services Web (WCF, MTOM, WCE?)

Voici le scénario: appareil Windows Mobile exécutant l'application client sur CF .NET 3.5 (bibliothèques OpenNETCF utilisées) Web App sur .NET 3.5 (Web serveur exécutant IIS) en développement dans VS2008, .NET 3.5 - tous les Dernière

J'ai besoin d'utiliser les services Web ou WCF ou MTOM pour transférer de gros fichiers vers et à partir de l'appareil mobile. (Préférablement tronqué). J'ai trouvé quelques bons articles, mais je n'arrive pas à le faire fonctionner correctement, les services web normaux avec des données XML donnent une exception de mémoire, WCE n'est pas disponible dans VS2008, WCF sur CF ne me donne pas l'option d'ajouter " Service référent ", seul" référencement Web ", je suis à la fin de mon esprit. Certains disent, n'utilisez pas WSE, il est obsolète, seulement utiliser WCF, mais je ne peux pas le faire fonctionner sur l'application mobile. Tout ce dont j'ai besoin est d'un simple mécanisme de transfert haut/bas d'un appareil mobile vers un serveur web, je peux regarder plus tard la compression et la fiabilité.

Quelqu'un peut-il s'il vous plaît pointez-moi dans la bonne direction avec des articles et des exemples de code?

Merci d'avance.

+0

De quelle extrémité voulez-vous lancer le transfert: périphérique ou serveur? – ctacke

Répondre

2

Dans le passé, j'ai trouvé que les services Web, WCF, MTOM et WSE fournissaient des solutions terribles pour les transferts de fichiers volumineux. Particulièrement pour le téléchargement. Ce que j'ai fini par faire était de créer une connexion TCP client/serveur et d'envoyer les données binaires du fichier à travers le flux. J'ai précédé les données du fichier avec un en-tête et une chaîne XML qui détaillait les données du fichier. Dans mon cas, j'avais besoin d'un niveau de sécurité donc j'ai utilisé System.Net.Security.NegotiateStream. Dans votre cas, les TcpClient et TcpListener de l'espace de noms System.Net.Sockets peuvent suffire. Ils sont tous deux soutenus par CF 3.5.

Espérons que ça aide.

+1

Merci pour l'info, j'ai décidé d'utiliser les services Web pour obtenir les listes de fichiers et ensuite utiliser FTP (OpenNETCF.Net.Ftp), il semble que le streaming va juste causer trop de problèmes. –

+0

plaine vieux FTP est la seule solution ;-) – hellboy

Questions connexes