Azure IoT Hub中FeedbackReceiver类是否已弃用?求推荐替代方案
FeedbackReceiver类状态及替代方案
类状态说明:
FeedbackReceiver在Microsoft.Azure.Devices.Client包中已被标记为过时(Obsolete),官方不再维护该类,不建议继续使用,未来版本可能会被移除。替代方案选择:
- 如果你需要接收云到设备消息的反馈(如送达确认、失败通知),这属于服务端操作,应使用服务端SDK包
Microsoft.Azure.Devices中的ServiceClient类,通过其GetFeedbackReceiver()方法获取反馈接收器,再调用ReceiveAsync()接收反馈。示例代码:using Microsoft.Azure.Devices; using System; using System.Threading.Tasks; class Program { static async Task Main(string[] args) { string connectionString = "<你的IoT Hub服务端连接字符串>"; using var serviceClient = ServiceClient.CreateFromConnectionString(connectionString); var feedbackReceiver = serviceClient.GetFeedbackReceiver(); while (true) { var feedbackBatch = await feedbackReceiver.ReceiveAsync(); if (feedbackBatch == null) continue; // 处理每一条反馈记录 foreach (var feedbackRecord in feedbackBatch.Records) { Console.WriteLine($"设备ID: {feedbackRecord.DeviceId}, 消息状态: {feedbackRecord.StatusCode}"); Console.WriteLine($"描述: {feedbackRecord.Description}"); } // 确认反馈消息已处理 await feedbackReceiver.CompleteAsync(feedbackBatch); } } } - 若你是在设备端开发,设备端无需接收这类反馈消息——反馈是IoT Hub发送给服务端,用于告知云到设备消息的最终处理状态。设备端只需专注于接收云到设备消息、发送遥测数据等核心操作即可。
- 如果你需要接收云到设备消息的反馈(如送达确认、失败通知),这属于服务端操作,应使用服务端SDK包
内容的提问来源于stack exchange,提问作者emrekara
相关产品推荐
相关产品推荐

