Calendário do Exchange: o ConversationId é um bom identificador de eventos mestre para as ocorrências FindItem?

Coleto os compromissos em um calendário do Exchange com um SOAPFindItem ligar. Isso retorna eventos únicos e ocorrências (personalizadas) de eventos recorrentes.

Ao processar estes eu usoGetItem recuperar o ID do evento principal para cada ocorrência (ItemType=citOccurrence) Depois disso, posso determinar se ainda preciso armazenar o evento principal internamente (e recuperar todos os seus detalhes) ou se já o fiz.

Porém, com muitas ocorrências do mesmo evento recorrente (especialmente com eventos intermináveis) em um período mais longo.FindItem período, isso significa ter que fazer muitoGetItem chamadas 'get master' para o servidor (com a primeira resultando em 'você deve armazenar o master' e todas as outras em 'você já possui esse master').

Analisei as propriedades retornadas comBaseShape AllProperties e parece queConversationId poderia ser uma propriedade que eu possa usar para identificar ocorrências do mesmo evento mestre. Dados de amostra para eventos de teste:

<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="/>

Pergunta, questão:ÉConversationId uma propriedade confiável para usar para isso?

Notas:

Ao ler ao redor, tenho a impressão de que é usado principalmente para mensagens, não para compromissos.

Há uma pergunta semelhante aqui mas isso não responde definitivamente ao meu.

Além disso,existem alguns problemas ao recuperar o ConversationId no Exchange 2007, maseles parecem solucionáveis.

(Editado para adicionar) Um teste rápido mostra queConversationID, UID, e até mesmoInstanceIndex são todos candidatos. Qual é o 'definitivo'?

questionAnswers(1)

yourAnswerToTheQuestion