我在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)
希望它可以帮助其他人。