2012-09-05 124 views
1

我正在使用EWS托管API来读取和发送电子邮件。然而,当我尝试设置一个特定的EmailMessage财产IsRead,我得到下面的异常上的更新方法:EWS更新失败

预期的XML节点类型为元素,但实际类型是 结束元素。

下面是我用更新IsRead属性的方法:

public void UpdateExchangeEmail(string _ID, bool _isRead) 
{ 
    EmailMessage message = EmailMessage.Bind(ExchService, _ID); 
    message.IsRead = _isRead; 
    message.Update(ConflictResolutionMode.NeverOverwrite); 
} 

其中ExchService是ExchangeService对象和阅读和发送电子邮件,工作正常。真奇怪的是,IsRead的价值设置得很好,所以尽管事实上抛出了一个异常,它似乎仍然有效。

任何关于如何解决这个问题的建议非常感谢。

回答

1

我bellieve你必须调用.Load()方法,然后才能访问这种性质的

public void UpdateExchangeEmail(string _ID, bool _isRead) 
{ 
    EmailMessage message = EmailMessage.Bind(ExchService, _ID); 
    message.Load(new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.IsRead)); // Do this first. 
    message.IsRead = _isRead; 
    message.Update(ConflictResolutionMode.NeverOverwrite); 
}