无法通过Exchange Server 2013中的EWS加载MimeContent

Nat*_*rat 4 c# exchange-server exchangewebservices ews-managed-api exchange-server-2013

我在Exchange Server 2013中使用EWS加载MimeContent属性时遇到问题。这是我的工作:

var propertySet = new PropertySet{
            ItemSchema.Subject,
            ItemSchema.TextBody,
            ItemSchema.DateTimeCreated,
            ItemSchema.LastModifiedTime
        };

var item = Item.Bind(mailbox.ExchangeServiceInstance, itemId, propertySet);
Run Code Online (Sandbox Code Playgroud)

邮箱,权限,PullSubscription和ExchangeService已设置并且可以正常使用,“ itemId”是正确的,现有的。该代码有效,我可以访问已加载的属性。

但是当我尝试紧随其后加载MimeContent时,出现错误:

var binaries = new PropertySet(BasePropertySet.IdOnly, ItemSchema.MimeContent);
item.Load(binaries);
Run Code Online (Sandbox Code Playgroud)

我得到的异常是:

Microsoft.Exchange.WebServices.dll中发生“ Microsoft.Exchange.WebServices.Data.ServiceResponseException”

缺少参考时间段。

我无法在Google上找到与EWS相关的此异常的任何类似问题,或在加载MimeContent时遇到的任何类似问题。我一直想自己弄清楚,但是谁能给我提示在哪里挖的提示?

Nat*_*rat 5

找到了!问题出在TimeZone设置中。他们说这是一个罕见的问题,这取决于Exchange Server的安装位置和安装方式。

我只在ExchangeService的构造函数中添加了TimeZoneInfo.Utc,现在一切正常。

var service = new ExchangeService(ExchangeVersion.Exchange2013_SP1, TimeZoneInfo.Utc)
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助其他人。