在一些与Azure IoT集线器配合使用的Microsoft文档中,它提到在多个简单设备与本地集线器设备进行通信的情况下,可以在单个TLS连接(使用AMQP协议)下多路复用多个设备的通信。具有足以与IoT中心通信的强大功能。是否有任何示例说明如何实现这种复用?该DeviceClient库似乎并不支持这一(虽然我可能是错的)。还提到了针对这种情况的IoT Gateway SDK,但是我还没有找到一个清晰的示例说明如何使用两者来设置多路复用。任何建议或对其他材料的引用将不胜感激。
我有一个场景,我想将 UTC 日期转换为具有特定时区的 ISO 8601 字符串,以通过 web api 发送。推荐的方法是像这样使用 TimeZoneInfo:
var configuredTimeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneString);
var localTime = DateTime.SpecifyKind(TimeZoneInfo.ConvertTimeFromUtc(utcTime, configuredTimeZone), DateTimeKind.Local);
var stringResult = localTime.ToString("o");
Run Code Online (Sandbox Code Playgroud)
这在我的本地机器上运行良好,但我遇到了一个非常奇怪的情况,当代码托管在 Azure Web 应用程序中时,ToString 输出不同的字符串。在本地我得到 2017-02-20T00:00:00-06:00(这是我想要的,因为它包含我需要的时区信息),但是当托管在 Azure 中时,我得到 2017-02-20T00:00:00+ 00:00。(这是UTC,不是我想要的)。由于我手动应用了我想要的时区,我不确定为什么格式会附加错误的时区信息。有没有人遇到过这个?