2015-02-05 1 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(); 
} 

디버깅 할 때 오류가 없으며 모든 항목을 반복합니다. 그러나 검색 필터가 동일한 항목을 찾지 못했습니다. 그리고 테스트를 위해 몇 가지를 넣었 기 때문에 중복 된 부분이 있다는 것을 압니다.

+1

코드를 단계별로 실행 했습니까? 어떤 오류가 있습니까 ..? '내 루틴이 결과를 찾지 못했습니다.'[Exchange에서 EWS를 검색하는 MSDN] (https://msdn.microsoft.com/en-us/library/office/dn579421%28v=exchg.150) 이외의 정보를 제공해주십시오. % 29.aspx) – MethodMan

+1

ExchangeService를 올바르게 구성했다고 가정하고 결과를 얻었습니까? 내 말은, SearchFilters의 수를 줄이고 결과를 얻었습니까? 또한 @MethodMan이 제안한대로 시도하고 실행해야합니다. – HouseCat

+1

당신의 복제물이 정확히 같은 'DateTimeCreated' (등등) 값을 가지고 있습니까? – khlr

답변

0

DateTime은 비교하기에 좋지 않습니다. 그래서 내가 그것들을 버렸을 때, 나의 결과리스트는 잘 동작했다. 도움을 주신 Thx.