Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用c#代码在Azure IoTHub上同时注册多个设备_C#_Asp.net Mvc_Azure_Batch Processing_Azure Iot Hub - Fatal编程技术网

使用c#代码在Azure IoTHub上同时注册多个设备

使用c#代码在Azure IoTHub上同时注册多个设备,c#,asp.net-mvc,azure,batch-processing,azure-iot-hub,C#,Asp.net Mvc,Azure,Batch Processing,Azure Iot Hub,下面是我用来将设备注册到Azure IoTHub的代码 foreach (var deviceId in deviceList) { // register device into IoT hub Device device; RegistryManager registryManager = RegistryManager.CreateFromCon

下面是我用来将设备注册到Azure IoTHub的代码

foreach (var deviceId in deviceList)
            {
                        // register device into IoT hub 
                        Device device;
            RegistryManager registryManager = RegistryManager.CreateFromConnectionString("connectionString");
                        device = await registryManager.AddDeviceAsync(new Device(deviceId));


                        // send message to iot hub
                         DeviceClient deviceClient;
                        await deviceClient.SendEventAsync("data");                       

            }
我想测试大约15000个设备,因此设备列表将有15000个设备ID

我已经测试了100台设备,速度太慢了。 我正在mvc应用程序中执行这段代码

有什么方法可以提高执行速度吗 像批处理或并行Foreach或线程


我建议您阅读以下文件:

  • 其中: 身份注册操作(创建、检索、列出、更新、删除)
    自由,B1和S1=1.67/秒/单位(100/分钟/单位)
    B2和S2=1.67/秒/单位(100/分钟/单位)
    B3和S3=83.33/秒/单位(5000/分钟/单位)


我该如何解决这个问题?根据您的代码,您的场景是:使用Azure IoT中心的两个面向端点(如服务端和设备端)添加设备连接设备SendEvent UnconnectDevice。使用registryManager.ImportDevicesAsync,您只能在场景中处理第一步,例如AddDevice(ImportMode.Create)。确定我在页面上执行此操作吗?如何增加max no的执行时间?在这种情况下,尝试在两个步骤中使用REST API和可重用客户端代理:PUT-Create a device和POST-sendEvent,这是Azure IOT集线器的最小工作流程。此外,您应该考虑将此测试过程提交到后台长时间运行的过程中。