无法使用'wait'在非'async'方法
本文关键字:在非 async 方法 wait | 更新日期: 2023-09-27 18:08:05
我正在开发Windows phone 8,并试图使用Windows连接到服务器。网络名称空间。(系统。网络套接字在wp8中并不真正支持),所以我调用来建立连接:
socket.ConnectAsync(e);
并且我得到错误"因为这个调用不是等待的,执行的…"这是公平的,因为这里应该使用await关键字。但是,当我在
中添加这个时:await socket.ConnectAsync(e);
我得到错误:" 'await'操作符只能在async方法中使用。"
这不仅仅是有点令人沮丧。我不能对我调用的方法进行修改,因为这是一个预编译的函数,签名是:
public IAsyncAction ConnectAsync(EndpointPair endpointPair);
我该怎么做?在我有限的理解中,这似乎是。net的一个问题,让我发疯!
你需要有你的函数,调用socket.ConnectAsync(e)
的那个,也是异步的。
void MyFunction()
{
await socket.ConnectAsync(e);
}
显示您所看到的错误。改为
async Task MyFunction()
{
await socket.ConnectAsync(e);
}