Избегайте преобразования DateTimeOffset в UTC время в Azure EventGrid - PullRequest
0 голосов
/ 27 декабря 2018

Я тестировал EventGrid Azure, и одна из вещей, которые я пытаюсь сделать, это отправить событие, в котором частью PayLoad является поле DateTimeOffset.Я публикую событие, используя стандартный EventGridClient:

using (var client = new EventGridClient(topicCredentials))
{
    await client.PublishEventsAsync(topicHostname, eventGridEvents).ConfigureAwait(false);
}

Я запустил Fiddler и убедился, что часть даты сериализуется так, как я ожидал: "CheckInDate": "2018-12-26T14: 47: 42.8-08: 00 "

Но когда мой подписанный прослушиватель функций Azure получает HttpTrigger и считывает содержимое сообщения, тот же элемент как-то отформатирован как UTC:" CheckInDate ":" 2018-12-26T22: 47: 42.8 + 00: 00 ".

Есть ли настройка или что-то, что мне нужно включить, чтобы сохранить первоначальное смещение?

1 Ответ

0 голосов
/ 27 декабря 2018

Хотя работа с UTC на бэкэнде обычно является наилучшей практикой (поэтому я хотел бы сохранить ее, если нет особой необходимости работать с местным временем), я думаю, вам следует попытаться сохранить смещениев специальном поле, и просто конвертируйте его обратно в соответствующее местное время на принимающей стороне, используя это смещение.

Посмотрите на DateTimeOffset Struct о том, как вы могли бы сделатьконверсии.

Надеюсь, это поможет!

...