从1000多个设备中获取connectionState的最佳方法。目前还没有那么多的设备,但需要一个有效的解决方案。
根据我的理解,目前我可以使用
Queries(select * from devices)或registryManager.GetDevicesAsync(100); --当查询1000个设备时,这些方法不是实时的,或者当设备数量增加时,这些方法不会有效。请提出一些方法,并纠正我,如果我是错误的,以上任何一项。
发布于 2018-04-20 09:53:26
建议只在开发和调试期间使用ConnectionState字段,而不是在产品解决方案中使用。
检索connectionState有一个限制,因为在一次调用中返回的最大设备标识数为1000。。
如果您的IoT解决方案需要知道设备是否已连接,则应实现心跳模式。
考虑到您所关心的心跳开销,您可以使用这个API:DeviceClient.OperationTimeoutInMilliseconds设置一个较小的超时。
该模式实现了与使用心跳模式维护设备连接状态注册表相同的结果,同时更有效。
https://stackoverflow.com/questions/49877178
复制相似问题