Пометка сообщения электронной почты как прочитанного с помощью веб-служб Exchange 2007

Я подписан на учетную запись электронной почты с помощью веб-служб Exchange 2007 и обрабатываю вложения по мере поступления новых писем. Я хотел бы отметить эти письма как прочтите "на сервере после того, как я их обработал, но я обнаружил, что это не так просто, как установить для свойства IsRead значение true. Я даже пробовал следующее:

Dim msg As EmailMessage
msg.Load(New PropertySet({EmailMessageSchema.IsRead}))
msg.IsRead = True

Я пробовал это после того, как узнал, что мне нужно загружать определенные свойства схемы, если я хочу взаимодействовать с определенными частями сообщения (например, вложениями). Я также пробовал напрямую привязать сообщение к новому объекту и загрузить дополнительные свойства:

Dim iID as ItemId = msg.Id
Dim tmpMsg as EmailMessage = EmailMessage.Bind(service, iID, New PropertySet(BasePropertySet.FirstClassProperties, EmailMessageSchema.IsRead))
tmpMsg.IsRead = True

Мне не повезло. Я погуглил и нашел один пример блога MSDN , который, кажется, должен работать, но у него есть классы, которые я не могу найти (например, Microsoft.Exchange.WebServices.SetItemFieldType ; все, что у меня есть в пространстве имен WebServices , - это пространства имен Data и AutoDiscover , без классов или чего-то еще). И поскольку я не могу найти эти классы или что-то подобное, я застрял. Он также привел пример DAV, но, опять же, в его коде используются классы, которые я не могу найти в моей версии библиотеки DLL EWS (это 14.0.0.0). Я попытался загрузить последнюю версию API от Microsoft, но мне показалось, что это та же версия, что и у меня.

Итак, мой вопрос: есть ли способ пометить элемент как прочитанный с помощью веб-служб Exchange 2007?

27
задан mounty 27 July 2011 в 14:09
поделиться