我在这里看到了很多代码片段:
TcpClient client = await listener.AcceptTcpClientAsync();
Logger.Info("Client accepted");
https://codereview.stackexchange.com/questions/33748/wpf-async-await-tcpclient-tcplistener-sample
var tcpClient = await listener.AcceptTcpClientAsync();
HandleConnectionAsync(tcpClient);
https://bsmadhu.wordpress.com/2012/09/29/simplify-asynchronous-programming-with-c-5-asyncawait/
它似乎适用于大多数人。不幸的是,它对我不起作用 - 编译器给我以下错误:
错误CS4033:'await'运算符只能在异步中使用 方法。考虑使用'async'修饰符标记此方法 将其返回类型更改为“任务”
我做错了什么?我该如何解决?
答案 0 :(得分:3)
我做错了什么?
正如错误所述,调用方法需要使用async
修饰符进行标记,并且返回类型为Task
或Task<T>
:< / p>
public async Task ConnectAsync()
{
TcpClient client = await listener.AcceptTcpClientAsync();
Logger.Info("Client accepted");
}