2013-02-01 49 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 –