A atualização do EWS altera o fuso horário para o UTC
Já vi essa pergunta várias vezes na Web, mas não consigo encontrar uma resposta.
Quando eu crio um compromisso (reunião) usando o EWS 2.0 gerenciado, o e-mail de convite mostra corretamente a hora e o fuso horário. Quando atualizo a reunião, os novos emails de convite mostram a hora no fuso horário UTC. É a hora correta para o UTC, mas deve ser exibida no Pacífico.
Eu tentei definir a zona ao criar a conexão de serviço, mas isso faz com que o convite inicial também mostre o fuso horário como UTC, bem como quaisquer atualizações.
Eu tentei definir as propriedades StartTimeZone e EndTimeZone e incluí essas propriedades no conjunto de propriedades ao vincular o compromisso para modificação.
Existe outra propriedade em algum lugar que controla como o Exchange formata o tempo no envio dos convites? Aqui está um código mostrando como estou executando as atualizações:
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