繁体   English   中英

无法在非“异步”方法中使用“等待”

[英]Unable to use 'await' in a non-'async' method

我正在为Windows Phone 8开发,并尝试使用Windows.Networking命名空间连接到服务器。 (wp8并不真正支持System.Net套接字)所以我打电话建立连接:

socket.ConnectAsync(e);

而且我收到错误消息“因为未等待此调用,执行...”,这是很公平的,因为应该在此处使用await关键字。 但是,当我在其中添加:

await socket.ConnectAsync(e);

我收到错误消息:“'await'运算符只能在异步方法中使用。”

这令人沮丧。 我真的不能弄清楚它如何在我正在调用的方法上工作,因为这是一个带有签名的预编译函数:

public IAsyncAction ConnectAsync(EndpointPair endpointPair);

我该怎么办? 以我的有限理解,这似乎是.net的问题,这使我发疯! 任何帮助将非常感激。

你需要有你的功能,一个叫socket.ConnectAsync(e)异步以及。

void MyFunction()
{
    await socket.ConnectAsync(e);
}

让您看到的错误。 更改为

async Task MyFunction()
{
    await socket.ConnectAsync(e);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM