7

我在使用 EWS 和 Exchange Server 2013 加载 MimeContent 属性时遇到问题。这是我所做的:

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

var item = Item.Bind(mailbox.ExchangeServiceInstance, itemId, propertySet);

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

但是当我尝试在它之后立即加载 MimeContent 时,我收到一个错误:

var binaries = new PropertySet(BasePropertySet.IdOnly, ItemSchema.MimeContent);
item.Load(binaries);

我得到的例外是:

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

缺少参考期间。

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

4

1 回答 1

9

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

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

var service = new ExchangeService(ExchangeVersion.Exchange2013_SP1, TimeZoneInfo.Utc)

希望它可以帮助别人。

于 2016-04-18T10:56:08.137 回答