Je suis novice en matière de développement Exchange (2007), alors veuillez patienter. :-). Il semble y avoir une myriade de technologies pour le développement Exchange - le dernier en date étant Exchange Web Services - et son API managée. J'ai besoin d'écrire un programme qui peut - si nécessaire - s'exécuter sur les serveurs Exchange - pour analyser les boîtes aux lettres des gens dans le but de purger les messages qui répondent à divers critères (non pertinent pour cette discussion). Je crois comprendre que la plupart des autres technologies - WebDav, MAPI, CDO - sont désormais obsolètes par rapport à Exchange 2007 et Exchange 2010. Comme il s'agit d'une nouvelle application, j'ai décidé d'utiliser le Web Exchange. API gérée par les services.Services Web Exchange (API gérée) par rapport aux performances WebDav Question
Je suis préoccupé par le nombre d'articles que je peux numériser par heure. Comme il s'agit de services Web, il existe un saut de réseau. Donc, je voudrais lancer cet utilitaire sur le serveur avec lequel je communique. Ai-je raison de devoir parler à un serveur "Hub"?. J'utilise Auto Discovery et il semble se résoudre à un serveur "concentrateur", quel que soit le serveur de messagerie qui contient le magasin de messages que je numérise.
Lorsque vous extrayez plusieurs éléments en utilisant ExchangeService.FindItems et en spécifiant une taille de page de 500, le débit de mon poste de travail vers le serveur concentrateur est relativement bon. J'ai été en mesure de récupérer 22 000 articles de courrier en 47 secondes. Cela semble raisonnable. Cependant,, il s'avère que toutes les propriétés ne sont pas "liées" lorsqu'elles sont récupérées de cette façon. Certaines propriétés - comme ToRecipients et CcReipients - ne sont pas remplies, vous devez les lier explicitement (individuellement) -. Avec un appel à
Item.Bind(Server, Item.Id)
Ceci est un aller-retour séparé sur le serveur et cela tombe débit d'environ 460 articles/seconde à 3 articles par seconde - ce qui est impraticable.
Alors - quelques autres questions. Est-il possible de forcer les propriétés manquantes à être liées lors de l'appel à FindItems? A défaut, y at-il un moyen de lier plusieurs articles à la fois? Enfin, ai-je raison de choisir les services Web Exchange pour ce type de travail? I aimer la simplicité du modèle de programmation et ne voudrais pas passer à une autre technologie si elle est (a) plus complexe ou (b) obsolète. Si une autre technologie va mieux faire ce travail, et qu'elle n'est pas obsolète, je considérerais l'utiliser si nécessaire. Votre opinion et vos conseils sont appréciés.