2013-02-01 75 views
6

Exchange Web服務FindItems()調用有一些重載,其中包含SearchFilter對象和其他人正在使用高級查詢語法(AQS)中的查詢字符串。目前,我接受AQS查詢,例如「subject:Foo OR subject:Bar」,從呼叫者到我的代碼並將它們傳遞給EWS。EWS - 將查詢字符串與搜索過濾器對象結合起來

但是現在我想用SearchFilter做一些過濾,以限制日期範圍。雖然這是可以做到的,在AQS語法「日期:> 11/05/04」,我覺得這是更清潔,指定程序的過濾器:

new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.DateTimeReceived, d); 

所以我想要做的是什麼查詢通過都是 a SearchFilter和查詢字符串。要做到這一點,我想將我收到的查詢字符串轉換爲SearchFilter對象,這樣我就可以和我自己的過濾一起使用。

有沒有辦法在給定AQS查詢字符串的客戶端上構造SearchFilter

回答

3

部分回答我自己的問題:我懷疑這是不可能的,因爲EWS不支持公用文件夾上的查詢字符串,但它支持公用文件夾上的SearchFilter對象。因此,SearchFilter不能提供查詢字符串的功能,除非此EWS限制沒有意義。

+0

你可能是對的。 Sterling的「InsideMicrosoft®Exchange Server 2007 Web服務」僅提到了搜索過濾器,而不是AQS –