【问题标题】:Exchange Web Service (EWS) Custom FilterExchange Web 服务 (EWS) 自定义筛选器
【发布时间】:2014-05-08 07:48:47
【问题描述】:

我的目标是为 EWS 创建一个自定义 SearchFilter。例如,我想使用自定义算法(例如 Soundex 或“自制”)搜索所有电子邮件主题。

我希望能够做这样的事情:

SearchFilter.SearchFilterCollection filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And);
filter.Add(new SearchFilter.ContainsSubstring(ItemSchema.Categories, myCategory)) // Standard .NET Filter
filter.Add(new MyFilter(ItemSchema.XXXX, myVariable)) // <-- A custom implementation

SearchFilter 类是公共的,但有一个内部构造函数阻止我派生该类。 ContainsSubstringIsLessThan 等预定义搜索类是密封的(并派生自 SearchFilter)。

有人看到解决方案了吗!?

【问题讨论】:

    标签: c# .net search filter exchangewebservices


    【解决方案1】:

    很遗憾,这是不可能的。 EWS 托管 API 中的 SearchFilter 类最终必须序列化为符合 Exchange Web 服务架构的 SOAP XML。例如,SearchFilter.ContainsSubstring 序列化为 SOAP 请求中的 Contains XML 元素。您可以在此处查看所有托管 API 类和等效 SOAP 的示例:http://msdn.microsoft.com/EN-US/library/office/dn579422(v=exchg.150).aspx

    因此,为了通过 SOAP 发送过滤器,它必须符合架构,这意味着它必须是可用的过滤器类型之一。无法发送自定义类型。为了进行自定义过滤处理,您需要将相关数据下拉到您的客户端,并在那里进行过滤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 2013-09-28
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多