【发布时间】:2017-01-12 17:03:07
【问题描述】:
所以我正在用 C# 编写这个软件,我收到了这个错误消息。对于我的生活,我无法弄清楚,无论我做什么,搜索都不会带来任何有用的东西。
代码本身:
private async Task LoginIoTHub()
{
TypeJson command_json = new TypeJson();
if (NowNetSta == false) return;
if (IoTHubConnectFlag == false) return;
if (TeamName == null)
{
Debug.WriteLine("Please don't let your team name be void when you call methods 'new IoTHubLocalService(xx,xx,xx)'");
await Task.Delay(TimeSpan.FromSeconds(4));
}
else
{
if (LoginF == false)
{
try
{
Debug.WriteLine("Start to login\r\n");
LoginJson login_msg = new LoginJson();
login_msg.DeviceID = BoardID;
login_msg.name = TeamName;
var messageString = JsonConvert.SerializeObject(login_msg);
command_json.Type = 1;
command_json.Command = messageString;
messageString = JsonConvert.SerializeObject(command_json);
var message = new Message(Encoding.ASCII.GetBytes(messageString));
IAsyncAction Action = deviceClient.SendEventAsync(message);
await Action;
if (Action.Status == AsyncStatus.Completed)
{
Debug.WriteLine("Login success");
LoginF = true;
}
else
{
Debug.WriteLine("Login failed");
await Task.Delay(TimeSpan.FromSeconds(10));
}
}
catch (Exception ex)
{
Debug.WriteLine("Login to IoT Hub failed, please check your team name and internet connection: " + ex.Message);
await Task.Delay(TimeSpan.FromSeconds(10));
}
}
}
}
【问题讨论】:
-
错误是哪一行。是
IAsyncAction Action = deviceClient.SendEventAsync(message);我猜这是你的问题。
标签: c# multithreading azure asynchronous async-await