Я следую этому руководству , чтобы создать приложение ASP.NET Core MVC.Установите Microsoft.Azure.Devices (версия 1.17.0) из NuGet.Вызовите regManager.GetDevicesAsync () в контроллере и получите результат успешно.
ManageDevices.cs в контроллерах:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.Devices;
using Microsoft.Azure.Devices.Common.Exceptions;
// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace WebApplication1.Controllers
{
public class ManageDevices : Controller
{
public static string IOTHUBSTRING = "HostName=[IOT HUB NAME].azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=[KEY]";
// GET: /<controller>/
public string Index()
{
return "This is my default action...";
}
public IActionResult GetDevices()
{
GetDevicesAsync();
return View();
}
public async static Task<IEnumerable> GetDevicesAsync(int deviceCount = 8)
{
var regManager = RegistryManager.CreateFromConnectionString(IOTHUBSTRING);
var devices = await regManager.GetDevicesAsync(deviceCount);
foreach (var device in devices)
{
string deviceId = device.Id;
DeviceStatus status = device.Status;
}
return devices;
}
}
}
Для выполнения метода GetDevices можно использовать следующий URI:
https://localhost:44387/ManageDevices/GetDevices
Результат полученных устройств:
Вы можете попробовать посмотреть, поможет ли это.
Обновление:
Вы можете получить доступ к следующим данным устройства: