2016-02-26 1 views
2

Je vais développer un plugin Outlook qui détacher des pièces jointes énormes de l'e-mail et télécharger ces pièces jointes à un site FTP.outlook énorme gestion des pièces jointes

Dans ma première version du plugin j'ai fait tout le travail dans l'événement Application.ItemSend, mais quand la pièce jointe est vraiment énorme (plus de 1GB) cette solution est insatisfaite car l'interface utilisateur se fige pendant que l'utilisateur télécharge le fichier.

Une exigence obligatoire est que l'e-mail doit être envoyé seulement après que le téléchargement sur le site ftp est terminé. Des idées sur une meilleure façon de mettre en œuvre une solution de perspectives?

Répondre

0

Voulez-vous dire que l'interface utilisateur se fige pendant que vous téléchargez le fichier? Afficher une boîte de dialogue modale pendant que le téléchargement est en cours et effectuer le téléchargement réel sur un fil distinct.

+0

oui, l'interface utilisateur se fige pendant que je télécharge les fichiers. Il serait bien que le mailitem est déplacé vers le dossier de boîte d'envoi lorsque l'utilisateur clique sur le bouton envoyer afin que outlook soit disponible pour une autre tâche. Ce sera le même comportement du mailitem ordinaire. Le téléchargement de la pièce jointe doit être fait en arrière-plan et le mailitem doit rester dans le dossier outbox jusqu'à ce que le téléchargement est terminé. Mon problème est que je ne sais pas comment gérer un tel article dans le dossier d'envoi – simone

+0

Lorsque l'événement ItemSend se déclenche, démarrez une minuterie (vous devez être en dehors du gestionnaire d'événements pour pouvoir faire quelques choses). Lorsque la minuterie se déclenche, désactivez-la (pour qu'elle ne se déclenche plus), déplacez le message dans le dossier Boîte d'envoi, enregistrez les pièces jointes (vous ne pouvez le faire que sur le thread principal) et lancez votre téléchargement sur un thread secondaire. Une fois le téléchargement terminé, supprimez les pièces jointes, appelez MailItem.Send (assurez-vous de ne pas traiter deux fois le même élément). –