2015-02-05 46 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寻求帮助。