3

我目前正在 Outlook 2010 上使用 EWS。我正在尝试根据“类别”字段查找用户的联系人。我基本上想返回其类别字段包含特定子字符串的每个联系人。下面是一个例子:

ExchangeService service = new ExchangeService
{
    Credentials = new WebCredentials(user, password, domain),
    Url = new Uri(exchangeUrl),
};
string searchString = "abc";
SearchFilter filter = new SearchFilter.ContainsSubstring(ItemSchema.Categories, searchString);
ItemView view = new ItemView(200);
Mailbox mailbox = new Mailbox("blah@blah.com");
FolderId folderId = new FolderId(WellKnownFolderName.Contacts, mailbox);
FindItemsResults<Item> results = service.FindItems(folderId, filter, view);

这当然会失败,因为类别字段现在令人讨厌的是 aStringList而不是普通的字符串。我们所有的用户联系人只有 1 个与之关联的类别。有没有一种方法可以SearchFilter通过仅在第一个 Category 上运行比较来使其工作

请注意:由于我无法控制的原因,我不能使用 AQS 字符串。它们根本不是一种选择。我必须使用SearchFilter对象(或其他一些机制来过滤结果)。

4

1 回答 1

1

从我所见,您必须使用AQSExact Match。如果你不能使用任何一个,总是有暴力方法自己使用ItemView和分页所有消息类别属性以实现包含实现。

于 2012-06-14T15:17:49.277 回答