2015-02-05 97 views
0

我正在嘗試在Exchange Server上的公用文件夾中查找重複的項目。但由於某種原因,我的例程沒有找到任何結果。重複項目EWS C#

foreach (Item item in folderL3.FindItems(new ItemView(1000))) 
{ 
    item.Load(); 
    SearchFilter.SearchFilterCollection searchFilterCollection = new SearchFilter.SearchFilterCollection(LogicalOperator.And); 
    searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.DateTimeCreated, item.DateTimeCreated)); 
    searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.DateTimeReceived, item.DateTimeReceived)); 
    searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.DateTimeSent, item.DateTimeSent)); 
    searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.Subject, item.Subject)); 
    searchFilterCollection.Add(new SearchFilter.IsEqualTo(EmailMessageSchema.Size, item.Size)); 

    FindItemsResults<Item> results = exchange.FindItems(folderL3.Id, searchFilterCollection, new ItemView(1000)); 
    Console.WriteLine("Equal: " + results.Count()); 
    _countDoubleItems += results.Count(); 
} 

當我調試時,它沒有錯誤,它迭代所有項目。 但searchfilter沒有找到任何相同的項目。而且我知道有重複的,因爲我已經加入了一些測試。

+1

你有沒有通過代碼..?有沒有任何錯誤..?除了'我的例程沒有找到任何結果'[MSDN在Exchange中搜索EWS]「之外,還可以提供更多信息(https://msdn.microsoft.com/zh-cn/library/office/dn579421%28v=exchg.150 %29.aspx) – MethodMan 2015-02-05 16:11:08

+1

假設你已經正確地配置了你的ExchangeService,你有沒有得到結果?我的意思是,你是否減少了SearchFilters的數量並獲得了結果?你也應該嘗試一下,像@MethodMan建議的那樣。 – HouseCat 2015-02-05 16:20:44

+1

你確定你的副本具有完全相同的'DateTimeCreated'(等)值嗎? – khlr 2015-02-05 16:21:06

回答

0

結果DateTime不是用於比較的好材料。所以當我把它們排除在外時,我的結果列表工作得很好。 Thx尋求幫助。