Azure IoT Hub消息传递中的过期时间错误

时间:2016-11-29 14:15:10

标签: c# azure asp.net-web-api amqp azure-iot-hub

我有一个基于 Asp.NET WebAPI 的游戏后端, 我正在使用 IoT Hub AMQP 处理与游戏客户的通信。

不同类型的消息需要不同的生存时间,其中一些消息很短(5-20​​秒)。我开始注意到消息传递的一些随机问题,几乎立即抛出负面反馈。

经过痛苦的调查后,我发现原因是 WebAPI和IoT Hub时钟未对齐,所以到期时间更早或甚至立即触发。

现在,问题是 IoT Hub客户端不允许设置生存时间(Hub可以正确处理):相反,它会强制您指定ExpirationTime,与WebAPI时钟有关,而与IoT Hub无关。 我试图手动强制一些属性(" iothub-enqueuedtime")没有运气。

另一方面,我不能依赖于更改默认的IoT Hub到期设置,因为:

  • 他们无法处理小于60秒的TTL
  • 我需要针对不同消息类型的不同TTL

在排队新邮件时如何设置正确的生存时间或基于集线器的ExpirationTime?

0 个答案:

没有答案