避免在Azure EventGrid中将DateTimeOffset转换为UTC时间

3

我一直在测试Azure的EventGrid,其中我想要做的事情之一是发送一个事件,其中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 Functions 订阅监听器接收 HttpTrigger 并读取消息内容时,同一项却被格式化为 UTC 时间:"CheckInDate": "2018-12-26T22:47:42.8+00:00"。
是否有什么设置或者需要我开启的东西才能保留原始的偏移量呢?

关于这个问题,有一个UserVoice。请考虑投票支持它 :-) - Chief Wiggum
显然上述的uservoice已经被修复了。您需要使用Cloud Event Schema v1.0。 - alital
1个回答

1
尽管在后端使用UTC通常是最佳实践(因此,除非有特定需要使用本地时间,否则应考虑保留它),但我认为您应该尝试将偏移量存储在专用字段中,然后仅使用该偏移量在接收方将其转换回相关的本地时间。请参阅 DateTimeOffset Struct 以了解如何进行转换。希望能有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接