Календарь Exchange: Является ли ConversationId хорошим идентификатором основных событий для вхождений FindItem?

Я собираю встречи в календаре Exchange с SOAPFindItem вызов. Это возвращает отдельные события и (пользовательские) вхождения повторяющихся событий.

При обработке этих я используюGetItem получить идентификатор главного события для каждого вхождения (ItemType=citOccurrence). После того, как это сделано, я могу определить, нужно ли мне сохранять главное событие для себя (и получить все его детали), или я уже сделал это.

Но при многих повторениях одного и того же повторяющегося события (особенно с бесконечными) в болееFindItem период, это означает, что нужно сделать многоGetItem вызовы 'get master' на сервер (с первым вызовом «вы должны сохранить мастер», а все остальные в «у вас уже есть этот мастер»).

Я посмотрел на свойства, возвращенные сBaseShape AllProperties и кажется, чтоConversationId может быть свойством, которое я могу использовать для идентификации вхождений одного и того же главного события. Пример данных для тестовых событий:

<t:ItemId Id="AAMk[snip]AAEA==" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMZ/"/>
<t:Subject>Occurrence</t:Subject>
<t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ/3ahArhg+mv+UJSo="/>

<t:ItemId Id="AAMk[snip]AAEA==" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMZ/"/>
<t:Subject>Modified occurrence</t:Subject>
<t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ/3ahArhg+mv+UJSo="/>

<t:ItemId Id="AAMk[snip]RrAAA=" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMaA"/>
<t:Subject>New single event</t:Subject>
<t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQAMRNQtffkIdFvs73IVVJObM="/>

<t:ItemId Id="AAMk[snip]AAEA==" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMZ/"/>
<t:Subject>Occurrence</t:Subject>
<t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ/3ahArhg+mv+UJSo="/>

<t:ItemId Id="AAMk[snip]RtAAA=" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMaG"/>
<t:Subject>Meeting</t:Subject>
<t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQAOZVB7gVSTJCtmZMMcXVBfQ="/>

Вопрос:ЯвляетсяConversationId надежное свойство использовать для этого?

Заметки:

Из прочтения у меня складывается впечатление, что он в основном используется для сообщений, а не встреч.

Здесь есть похожий вопрос но это не совсем отвечает моему.

Также,Есть некоторые проблемы с получением ConversationId под Exchange 2007, ноони кажутся разрешимыми.

(Отредактировано, чтобы добавить) Быстрый тест показывает, чтоConversationID, UID, и дажеInstanceIndex все кандидаты. Что является «окончательным»?

Ответы на вопрос(1)

что это свойство, но я мог бы немного отключиться). Если у вас встреча в нескольких комнатах, UID будет одинаковым для встреч в обеих комнатах. Я не проверял в течение некоторого времени, но я верю, что это будет то же самое для экземпляров одного и того же мастера.

 Jan Doggen27 июл. 2015 г., 10:44
Смотрите мое редактирование на вопрос. Ваш ответ пока не звучит как «окончательный», поэтому я немного подожду ... Преимущество UID в том, что его легче получить в 2007 году. Я проведу еще несколько исследований.

Ваш ответ на вопрос