我正在使用CalendarItemType视图来检索日历项目。我关心的唯一项目是我创建的项目,我知道它们都是每周重复项目。我可以获得每个单独的事件,并从其中任何一个重复发生的主要项目,但我想将搜索范围缩小到仅符合我的模式的项目。如何使用Exchange Web服务检索重复事件主机?
我已经尝试在FindItemType上使用Restriction属性来为calenderRecurrenceId指定一个空常量的NotEqualTo限制。这导致我的请求超时。到目前为止,我一直无法使用FindItemType加载循环,并且当我发现循环系列中发生的事件时,需要使用后续的GetItemType调用。
这是我开始的代码。代码需要与Exchange 2007和Exchange 2010
var findItemRequest = new FindItemType();
findItemRequest.ParentFolderIds = new DistinguishedFolderIdType[]
{
new DistinguishedFolderIdType()
};
((DistinguishedFolderIdType)findItemequest.ParentFolderIds[0]).Id = DistinguishedFolderIdNameType.calendar;
findItemRequest.Traversal = ItemQueryTraversalType.Shallow;
var itemShapeDefinition = new ItemResponseShapeType(
{
BaseShape = DefaultShapeNamesType.AllProperties;
}
findItemRequest.Item = calenderView;
findItemRequest.ItemShape = itemShapeDefinition;
var findItemResponse = this.esb.FindItem(findItemRequest);
而且都工作,如果你知道的例子有什么好的源(超出MSDN中的那些),我会欢迎他们。我在紧急情况下捡起别人的代码,并尝试学习Exchange Web服务。
当我学习EWS时,我使用EWSEditor的代码作为参考。 – Avilo 2011-03-16 21:36:17