我创建的DateTime对象和DateTime.Now之间的区别

jos*_*shb 6 c# exchange-server-2007 exchangewebservices

我正在尝试使用Exchange 2007 API查询特定用户的日历可用性.我的示例代码产生以下异常:

为FreeBusyViewOptions.TimeWindow指定的持续时间无效.

这是示例代码:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

service.AutodiscoverUrl("email@domain.com");

DateTime startTime = new DateTime(2012, 1, 6, 7, 0, 0);

TimeWindow tw = new TimeWindow(startTime, startTime.AddHours(8));

GetUserAvailabilityResults result = service.GetUserAvailability(new List<AttendeeInfo> { new AttendeeInfo("email@domain.com") }, tw, AvailabilityData.FreeBusyAndSuggestions);
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我用以下内容替换我的startTime赋值它可以工作:

DateTime startTime = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

我创建的DateTime对象与DateTime.Now生成的对象之间有什么区别.我在调试时仔细检查了它们,但找不到区别.

有任何想法吗?

com*_*ech 23

这实际上似乎是GetUserAvailability方法中的一个问题,而不是任何DateTime操作.

根据MSDN文档:

GetUserAvailability(Generic,TimeWindow,AvailabilityData,AvailabilityOptions)方法仅支持最少24小时的开始和结束的时间段.要将方法的结果限制为较短的时间段,必须在客户端上过滤结果.