我正在使用CalendarItemType视图检索日历项.我唯一关心的项目是我创建的项目,我知道它们是每周经常性项目.我可以得到每个人的发生,从任何一个重复的主项目,但我想缩小搜索的范围,只是那些符合我的模式的项目.
我尝试使用FindItemType上的Restriction属性来指定一个NotEqualTo限制,其中一个null常量用于calenderRecurrenceId.这使我的请求超时.到目前为止,我一直无法使用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服务.
解决方法
也许我误会了你,在这种情况下我很抱歉.
您不使用CalendarView – 如果您想要的是常规的IndexedPageItemView,那么您可以使用Master Recurring Calendar项目.
您可以使用CalendarView将复现扩展到单个项目.但是,除了开始和结束日期之外,CalendarView的折中是不允许的.没有.