我有一個函數,它循環遍歷郵箱中的多個定義的文件夾。每個文件夾都包含另一個名爲「Complete」的文件夾。下面的代碼找到這個「完整」文件夾並獲得它的FolderId
。ExchangeService.FindFolders不返回任何文件夾
運行時,代碼工作正常,然後FindFoldersResults findFolderProcessed = service.FindFolders(folder.Id, new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Complete"), view);
返回沒有文件夾。通過代碼,一切似乎都應該起作用,但findFolderProcessed.Folders
是空的。
爲什麼它會爲多個文件夾工作,然後停止?
ServicePointManager.ServerCertificateValidationCallback =
((sender, certificate, chain, sslPolicyErrors) => true);
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.Credentials = new NetworkCredential("xxx", "xxx", "xxx");
service.AutodiscoverUrl("[email protected]");
service.Url = new Uri("https://xxx/ews/exchange.asmx");
FolderView view = new FolderView(int.MaxValue);
view.PropertySet = new PropertySet(BasePropertySet.IdOnly);
view.PropertySet.Add(FolderSchema.DisplayName);
view.Traversal = FolderTraversal.Deep;
SearchFilter[] parameters = new SearchFilter[3];
parameters[0] = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "x1");
parameters[1] = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "x2");
parameters[2] = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "x3");
SearchFilter.SearchFilterCollection filterCollection = new SearchFilter.SearchFilterCollection(LogicalOperator.Or, parameters);
FindFoldersResults findFolder = service.FindFolders(new FolderId(WellKnownFolderName.Inbox, new Mailbox("[email protected]")), filterCollection, view);
foreach (Folder folder in findFolder.Folders)
{
//FindFoldersResults tempResults = service.FindFolders(folder.Id, view);
FindFoldersResults findFolderProcessed = service.FindFolders(folder.Id, new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Complete"), view);
FolderId ProcessedFolderID = findFolderProcessed.Folders[0].Id;
//Other Processing
}
編輯:實施例的文件夾結構
x1
-> Complete
x2
-> Complete
x3
-> Complete
...
xn
-> Complete
大約有50個文件夾,結構完全相同的方式。
你似乎有一個主要的「處置」對象問題在這裏,你何時何地處理你創建的'new'd'對象實例。 – MethodMan
你能重現嗎?這是發生在某個文件夾還是隨機發生的?你能顯示你的文件夾結構嗎? – khlr
MethodMan - 對象稍後將放置在代碼中,但是在我想要處理它們之前發生此問題。 khlr - 我可以重現嗎?是的,我每次運行它時都會重現它。它似乎每次都是相同的文件夾,我正在做更多的測試,但我不知道爲什麼。 我已經把主要問題中的文件夾結構的描述。 – anothershrubery