c# - 使用 IoT 中心发送 C2D 消息时无法设置 ExpiryTimeUtc 字段
问题描述
堆栈溢出问题
我有一个控制台应用程序,可以将消息发送到 Android 设备。每当我尝试发送设置了 ExpiryTimeUtc 的消息时,serviceClient.SendAsync 方法都会引发异常:
未处理的异常:Microsoft.Azure.Devices.Common.Exceptions.IotHubException:跟踪 ID:{TRACKING_ID_OMITTED}-TimeStamp:09/24/2019 00:23:41-G:20-TimeStamp:09/24/2019 00:23: 41 在 Microsoft.Azure.Devices.AmqpServiceClient.SendAsync(字符串 deviceId,消息消息,Nullable`1 超时)
我检查了异常的代码及其InvalidErrorCode
,这根本没有帮助。
ExpiryTimeUtc
这是产生异常的片段(未设置时完全相同的代码可以工作:
var message = new Message();
message.MessageId = messageId;
message.Ack = DeliveryAcknowledgement.Full;
message.CreationTimeUtc = creationTime;
message.ExpiryTimeUtc = DateTimeOffset.UtcNow.DateTime.AddMinutes(1);
message.Properties.Add("type", "TEST_TYPE");
message.Properties.Add("test_data", data);
message.Properties.Add("checksum", checksum);
message.Properties.Add("page", pageNumber.ToString());
message.Properties.Add("page_total", total);
我正在使用Microsoft.Azure.Devices v1.18.1
和Microsoft.NETCore.App v2.1.0
。
解决方案
推荐阅读
- reactjs - React Router Dom - 如何在动态路由之间重定向
- android - 没有很多细节的Android“ClassNotFound”错误报告 - 你如何进行
- azure-devops - 会员权利管理 VSTS API
- pine-script - 单独管理金字塔订单的止损
- java - 如何在 android 10 中获取图像的方向信息?
- java - 根实体上的 JPA 注释 @DiscriminatorValue 不返回预期结果或返回所有记录
- ibm-watson - 带有 IBM Watson 的聊天机器人 - 如何验证日期输入?
- javascript - 在 React 中按 asc/des 排序表
- python - 有没有办法像 python 中的斐波那契序列一样对每个第 n 个列表求和并成为一个新列表?
- javascript - 在 Angular 模板驱动表单中的文本区域内使用正则表达式