如何在 C# 中的等效代码中实现“const patch = {...}”

问题描述 投票:0回答:1

我正在尝试在 C# 中实现相同的方法,但找不到 javascript const patch = {..} 的等效方法

我也不太明白这里发生了什么 - 为什么补丁有一个属性“rundiagnostics”,它似乎是方法名称,以及为什么要更新孪生报告的属性。

我想处理一个长时间运行的命令并在命令响应中反映结果。目前尚不完全清楚 IoT Central 如何处理长时间运行的命令,因此欢迎任何额外的解释。也许是一两个序列图 (??)。

文档链接此处

client.onDeviceMethod('rundiagnostics', commandHandler);

// ...

const commandHandler = async (request, response) => {
  switch (request.methodName) {
  case 'rundiagnostics': {
    console.log('Starting long-running diagnostics run ' + request.payload);
    await sendCommandResponse(request, response, 202, 'Diagnostics run started');

    // Long-running operation here
    // ...

    const patch = {
      rundiagnostics: {
        value: 'Diagnostics run complete at ' + new Date().toLocaleString()
      }
    };

    deviceTwin.properties.reported.update(patch, function (err) {
      if (err) throw err;
      console.log('Properties have been reported for component');
    });
    break;
  }
  default:
    await sendCommandResponse(request, response, 404, 'unknown method');
    break;
  }
};
azure-iot-hub
1个回答
0
投票

您将补丁定义为如下字符串:

    var patch =
        @"{
            tags: {
                location: {
                    region: 'US',
                    plant: 'Redmond43'
                }
            }
        }";

并且您可能需要将整个脚本更改为 C# 等效脚本。

请参阅 https://learn.microsoft.com/en-us/azure/iot-hub/device-twins-dotnet 了解详细的 C# 示例。

© www.soinside.com 2019 - 2024. All rights reserved.