2

この質問がウェブ上で何度か見られましたが、答えが見つかりません。

マネージド EWS 2.0 を使用して予定 (会議) を作成すると、招待メールに時間とタイム ゾーンが正しく表示されます。ミーティングを更新すると、新しい招待メールの時刻が UTC タイム ゾーンで表示されます。これは UTC の正しい時刻ですが、太平洋で表示されるはずです。

サービス接続を作成するときにゾーンを設定しようとしましたが、これにより、最初の招待でもタイム ゾーンが 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
4

1 に答える 1

0

これがイライラする回答であることは承知していますが、これは Exchange のバグだと思います。API によって公開されているさまざまなタイム ゾーン プロパティをどのように調整しても、この動作は引き続き発生します。私が知る限り、これに影響を与えるサーバーレベルの設定はありませんが、すべてをくまなく調べたわけではありません.

私の場合、追加された UTC 時間と一緒に見えるのは、更新時にメッセージが元の HTML からプレーン テキスト バージョンに変更されることです。そのバグ ( http://support.microsoft.com/kb/2689810 ) は修正されましたが、私の組織はまだパッチを適用していません。他のバグが修正されたときに、このバグが廃止された可能性があると思います。Exchange サーバーに更新プログラムをインストールするオプションがある場合は、試してみる価値があるかもしれません。

于 2013-02-11T04:33:35.463 に答える