2015-09-17 17 views
0

在Exchange 2010中,引入了令人敬畏的操作FindConversation。但是,此操作僅允許您指定一個文件夾來查找對話,因此,當您在例如對話框上使用FindConversation時。 inbox-文件夾中,您將無法獲得自己發送的對話部分(因爲它們位於sentitems-文件夾中)。使用EWS查找所有對話項目,包括已發送項目

爲了緩解這個問題,我拔光了所有的獨特conversationIds我從FindConversation - 操作了,並做了定期FindItem一個大Restriction -clause要求是屬於這些對話的項目。這給了我錯誤:屬性不能用於這種類型的限制

因此,我要求在每個對話中的第一項Extended Property 0x3013,這是其他類型的ConversationId(?),並使用上述相同的方法。這實際上工作!但是,這非常緩慢,並且幾乎毀了一個簡單的FindConversation-操作,然後是GetItem-操作帶來的極好的最終用戶體驗。

有沒有比上面描述的更好的方式來獲得整個對話(包括用戶自己的郵件)?

回答

0

我最終取出每個會話的ConversationTopic(你在FindConversation - 操作獲得),並創建了一個大Rectriction,並要求在sentitems -folder認爲有下列任一主題作爲自己的一個項目Finditem -operation。然後,當我得到答覆時,我將每個項目映射到他們所屬的對話。這樣我就不必做2 FindItem -operations,而且速度非常快。