Я видел этот вопрос несколько раз в Интернете, но не могу найти ответ.EWS обновляет часовой пояс до UTC
Когда я создаю встречу (встречу) с использованием управляемого EWS 2.0, письмо-приглашение правильно показывает время и часовой пояс. Когда я обновляю собрание, новые приглашения электронной почты показывают время в часовом поясе UTC. Это правильное время для UTC, но должно отображаться в Pacific.
Я попытался установить зону при создании сервисного соединения, но это делает первоначальное приглашение также отображающим часовой пояс как UTC, а также любые обновления.
Я попытался установить свойства StartTimeZone и EndTimeZone и включил эти свойства в набор свойств при связывании назначения для модификации.
Есть ли другое свойство где-то, контролирующее, как Exchange форматирует время отправки приглашений? Вот код, показывающий, как я совершаю обновление:
Dim EWS As ExchangeService = GetEWSConnection(UserEmailAddress)
Dim meeting As Appointment = Appointment.Bind(EWS, New ItemId(CalendarEvent.ItemKey), New PropertySet(BasePropertySet.IdOnly, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.ReminderDueBy, AppointmentSchema.StartTimeZone, AppointmentSchema.EndTimeZone, AppointmentSchema.TimeZone, AppointmentSchema.Subject, AppointmentSchema.Location, AppointmentSchema.Body))
Dim timeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(LocalTimeZoneID)
With meeting
.Subject = CalendarEvent.Subject
.Location = CalendarEvent.Location
.Body = CalendarEvent.Body
.Start = CalendarEvent.StartTime
.End = CalendarEvent.EndTime
.StartTimeZone = timeZone
.EndTimeZone = timeZone
' snip (removed attendee add/remove)
.Update(ConflictResolutionMode.AlwaysOverwrite, SendInvitationsOrCancellationsMode.SendToChangedAndSaveCopy)
End With