我在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);

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

但是当我尝试紧随其后加载MimeContent时,出现错误:
var binaries = new PropertySet(BasePropertySet.IdOnly, ItemSchema.MimeContent);
item.Load(binaries);

我得到的异常(exception)是:



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

最佳答案

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

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

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

希望它可以帮助其他人。

10-08 08:02