поскольку некоторые другие обсуждали эту проблему ранее (, например, Веб-службы Exchange :, почему ItemId не является постоянным?), я хочу поговорить о решении, я сделал то, что предложили люди, пометив Guid как расширенное свойство. Для меня это решение довольно приятно (, хотя я не знаю, как заставить его работать с вхождениями ), но только до тех пор, пока приложение работает, после перезапуска приложения расширенные свойства элементов исчезают, так что теперь моя проблема заключается в следующем: « Как проштамповать расширенное свойство на элементе EWS и сделать так, чтобы оно было там постоянно?” Это код обновления элементов календаря (встреч)
public void SetGuidForAppointement(Appointment appointment)
{
appointment.SetExtendedProperty((ExtendedPropertyDefinition)_appointementIdPropertyDefinition, Guid.NewGuid().ToString());
appointment.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendToNone);
}
И это определение свойств, необходимое выше.
_appointementIdPropertyDefinition = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Appointment, "AppointmentID", MapiPropertyType.String);
_propertyDefinitionBases = new PropertyDefinitionBase[] { _appointementIdPropertyDefinition, ItemSchema.ParentFolderId, AppointmentSchema.Start, AppointmentSchema.End,
AppointmentSchema.LegacyFreeBusyStatus, AppointmentSchema.Organizer };
PropertySet = new PropertySet(BasePropertySet.FirstClassProperties, _propertyDefinitionBases);
Итак, если кто-то делал это раньше, может ли он/она предоставить мне пример, в котором расширенное свойство сохраняется на элементе, даже если приложение было закрыто. Спасибо