0

J'ai une table « Calendrier » qui fait partie de notre structure de base de données soit un enregistrement de calendrier contiendra un identificateur unique, une date de début, date de fin, domaine et noteSynchronisation avec le calendrier Exchange Server

Plût à comme écrire un service Windows (probablement Delphi ou C#) qui de temps en temps Synchroniser les enregistrements de données dans la table Calendrier avec le calendrier Exchange.

Les enregistrements de calendrier peuvent être ajoutés, modifiés et supprimés à la fin de la base de données, mais ne peuvent être modifiés ou supprimés que du côté Exchange. La synchronisation doit fonctionner dans les deux directions, c'est-à-dire mettre à jour avec les modifications les plus récentes.

J'ai examiné les services Web MAPI et Exchange comme point de départ. Peut-être qu'il y a d'autres alternatives ou des solutions tierces que je devrais envisager? Est-ce que quelqu'un a déjà eu l'occasion d'effectuer une tâche comme celle-ci ou est-il capable d'offrir des conseils sur la façon d'aborder la tâche?

Toute aide serait grandement appréciée.

TIA

Répondre

0

le service MAPI Exchange fournit sa propre API de synchronisation - synchronisation modification incrémentielle. Voir l'interface IExchangeExportChanges.

Si vous utilisez C# (qui ne vous laissera pas accès MAPI étendu), vous pouvez utiliser la Rédemption - il enveloppe ICS comme l'objet RDOFolderSynchronizer: http://www.dimastr.com/redemption/rdofoldersynchronizer.htm

+0

Dmitry, comment pourrais-je utiliser Redemption pour comparer les enregistrements de calendrier dans ma base de données contre les détails dans le dossier Exchange? – CMB

+0

Vous devrez stocker les valeurs PR_SOURCE_KEY de chaque rendez-vous par rapport à vos identifiants de base de données pour correspondre à chaque enregistrement. Gardez à l'esprit que lorsque Outlook traite une mise à jour de réunion, il supprime le rendez-vous d'origine et en crée un nouveau, de sorte que PR_SOURCE_KEY sera différent, même si l'ID de rendez-vous global sera le même. –

Questions connexes