这是处理设备通知逻辑的Azure Web应用程序的控制器代码。我正在做的是从ASP MVC控制器调用下面显示的代码。但是当我运行它时,我得到了来自浏览器的挂起请求(挂起)。 我有一个按钮,单击时它会调用控制器中的唤醒方法。从MVC Web应用程序发送到Azure IoT Hub设备时应用程序挂起
该代码与MSDN控制台应用程序的代码没有区别。我错过了什么?
using System.Text;
using Microsoft.Azure.Devices;
public class MyTemplate2Controller : Controller
{
static ServiceClient serviceClient;
static string connectionString = "HostName=azure-devices.net;SharedAccessKeyName=iothub;SharedAccessKey=mrUPt*2318C18K3LUk+oFarkNQ4vRvHrOa/eg=";
private AsyncController Task SendCloudToDeviceMessageAsync()
{
var asd = "{13A20041677B0,4,15,0}";
var commandMessage = new Message(Encoding.ASCII.GetBytes(asd));
return await serviceClient.SendAsync("Test_Comp_Dev_1", commandMessage).ConfigureAwait(continueOnCapturedContext: false);
}
public void Wakeup()
{
serviceClient = ServiceClient.CreateFromConnectionString(connectionString);
SendCloudToDeviceMessageAsync().Wait();
}
这个问题是太一般了,我建议你尝试做一个远程调试会话,看看究竟在何处你的代码失败。 https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging-azure –