2016-04-18 1 views
1

Il existe un fichier qui doit être copié dans un périphérique Windows Mobile. La taille du fichier est d'environ 40 Mo et voici mon code:Comment copier rapidement des fichiers avec Mobile Center (Active Sync) vers des périphériques mobiles Windows

OpenNETCF.Desktop.Communication.RAPI clsPDTDevice = new RAPI(); 

string DeviceDbPath = "\\FlashFX Disk\\Table\\db_assetSL.db"; 
string BackOfficeDbPath = string.Format(@"{0}\Table\db_assetSL.db", Application.StartupPath); 

clsPDTDevice.Connect(); 
clsPDTDevice.CopyFileToDevice(BackOfficeDbPath, DeviceDbPath, true); 

Ces codes fonctionnent mais mon problème est le moment. Plus de 40 secondes pour moins de 40 Mo ne convient pas du tout. J'ai copié le fichier avec Windows Explorer et le résultat était le même.

Y at-il un problème avec mes codes? Si c'est un problème de centre mobile, quelqu'un peut-il me montrer une autre façon de copier le fichier?

db_assetSL.db est une base de données SQLite si cela vous aide.

Je pourrais être plus optimiste si je pouvais copier ce fichier sans centre mobile. Y at-il un moyen de compresser cette DB et après avoir copié ce décompresser?

Répondre

0

Je ne pouvais pas copier rapidement un tel gros fichier mais je pouvais réduire la taille du fichier en utilisant la commande Vacuum; avec la base de données sqlite.

0

La copie de fichiers via USB et Flash est généralement lente. Comme vous l'avez dit, même l'explorateur de fichiers n'est pas plus rapide. Pour USB: n'utilisez pas de concentrateur mais connectez l'appareil directement au PC.

Si vous avez le choix, basculez le «USB vers PC» pour ne pas utiliser le support «Enhanced Network ...» sur l'appareil, je pense que le «vieux» PPP_Peer est plus rapide. En attente sur l'appareil, il peut être possible de copier le fichier via une connexion réseau. Certains appareils sont livrés avec un serveur ftp. Vous pouvez installer un serveur FTP sur l'appareil ou même écrire votre propre code de transfert de fichier de socket.

+0

Malheureusement je ne sais pas comment copier mon fichier sur ce lecteur car la synchronisation active crée un lecteur avec la lettre "\" et une grande confusion se produit lorsque je donne l'adresse de destination à Fichier.Copie (source, destination). Je devrais utiliser Rapi.CopyFileToDevice qui est très lent et je ne le veux pas. –

+0

Si vous utilisez WMDC et opennetcf, il n'y a pas d'autre option. Vous pouvez passer à un protocole réseau. – josef