C# Exchange2010_SP2版本的exchange api过滤问题

C# Exchange2010_SP2版本的exchange api过滤问题,c#,xml,web-services,soap,exchange-server-2010,C#,Xml,Web Services,Soap,Exchange Server 2010,我对exchange server verionExchange2010\u SP2有两个查询。第一个请求尝试获取AppointmentID(扩展属性)值等于特定值的项。代码使用IsEqualTo搜索过滤器来完成此操作。这是c代码 单过滤器请求 var timeZone=timeZone.GetFromName(“东部标准时间”); var id=“2a1f9fda-84b9-4090-91f0-6B5FC49F3F”; var日历=”mycalendar@mailinator.com";

我对exchange server verion
Exchange2010\u SP2
有两个查询。第一个请求尝试获取AppointmentID(扩展属性)值等于特定值的项。代码使用
IsEqualTo
搜索过滤器来完成此操作。这是c代码

  • 单过滤器请求
var timeZone=timeZone.GetFromName(“东部标准时间”);
var id=“2a1f9fda-84b9-4090-91f0-6B5FC49F3F”;
var日历=”mycalendar@mailinator.com";
var appointmentIdExtendedProperty=new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings,“AppointmentID”,MapPropertyType.String);
var服务=新的ExchangeService(ExchangeVersion.Exchange2010_SP2,timeZone.ToTimeZoneInfo())
{
凭据=新网络凭据(“用户”、“密码”),
Url=新Uri(“https://outlook.office365.com/EWS/Exchange.asmx")
};
var视图=新项目视图(10)
{
PropertySet=新的PropertySet(ItemSchema.Id,appointmentIdExtendedProperty)
};
var folderId=新的folderId(WellKnownFolderName.Calendar,新邮箱(Calendar));
SearchFilter=newsearchfilter.IsEqualTo(appointmentIdExtendedProperty,id);
var items=service.FindItems(folderId、筛选器、视图);
  • 组合筛选请求
第二个查询与上面的查询类似,唯一的区别是它应用了两个过滤器和一个逻辑or运算符。我只粘贴过滤器结构

SearchFilter-filter=新的SearchFilter.IsEqualTo(appointmentIdExtendedProperty,id);
SearchFilter containsFilter=新的SearchFilter.IsEqualTo(appointmentIdExtendedProperty,id);
var combinedFilter=new SearchFilter.SearchFilterCollection(LogicalOperator.Or,new[]{filter,containsFilter});
var items=service.FindItems(folderId、combinedFilter、view);
第一个请求的结果是约会满足单一筛选条件,但第二个请求不返回结果。根据定义,第二个筛选器应返回满足一个或多个搜索筛选器条件的项。第二个请求应至少返回第一个请求返回的项,因为它包含作为筛选器集合一部分的第一个筛选器

下面是由上述c#代码生成的http请求:

  • 第一个请求
POSThttps://outlook.office365.com/EWS/Exchange.asmx HTTP/1.1
内容类型:text/xml;字符集=utf-8
接受:text/xml
用户代理:。。。
接受编码:gzip,deflate
授权:。。。
主机:outlook.office365.com
内容长度:2368
预期:100人继续
我只
mycalendar@mailinator.com
  • 第二个请求
POSThttps://outlook.office365.com/EWS/Exchange.asmx HTTP/1.1
内容类型:text/xml;字符集=utf-8
接受:text/xml
用户代理:。。。
接受编码:gzip,deflate
授权:。。。
主机:outlook.office365.com
内容长度:2728
预期:100人继续
我只
mycalendar@mailinator.com

此版本的exchange server是否存在众所周知的问题?

第二个xml具有以下[t:Contains]标记,该标记限制了搜索。@jdweng如果满足[t:IsEqualTo],则也满足[t:Contains]。此外,这两个标记都由[t:Or]运算符组合,因此,如果一个项满足[t:IsEqualTo],它也满足[t:IsEqualTo]或[t:Contains]。“如果”匹配,则表明您是正确的。