我正在使用 Exchange Web 服务尝试获取所有未完成的 Outlook 任务的列表。
我有一个 ExchangeService 实例,并尝试查找所有未完成的任务,如下所示:
SearchFilter searchFilter = new SearchFilter.IsNotEqualTo(TaskSchema.Status, TaskStatus.NotStarted);
FindItemsResults<Item> tasks = service.FindItems(WellKnownFolderName.Tasks, searchFilter, view);
但是,在最后一行,我收到“ServiceResponseException:指定的值对于属性无效”。这对我来说很奇怪,因为EWS 文档明确指出 http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.task.status%28v=exchg.80%29.aspxTask.Status 应该是 TaskStatus 枚举值之一。创建与字符串值进行比较的 SearchFilter 不会导致异常,但我还没有尝试任何其他枚举选项来查看它们是否给出相同的行为。
我可以通过 Exchange 2007 使用 ExtendedPropertyDefinition 来完成此操作。
我在用PidLidTaskComplete 规范属性 http://msdn.microsoft.com/en-us/library/cc839514.aspx.
可用命名属性的完整列表here http://msdn.microsoft.com/en-us/library/cc815492.aspx.
//Create the extended property definition.
ExtendedPropertyDefinition taskCompleteProp = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x0000811C, MapiPropertyType.Boolean);
//Create the search filter.
SearchFilter.IsEqualTo filter = new SearchFilter.IsEqualTo(taskCompleteProp, false);
//Get the tasks.
FindItemsResults<Item> tasks = service.FindItems(WellKnownFolderName.Tasks, filter, new ItemView(50));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)