我正在为Windows Phone 8开发,我正在尝试使用Windows.Networking命名空间连接到服务器。 (wp8中不支持System.Net套接字)所以我打电话来建立连接:
socket.ConnectAsync(e);
我得到错误“因为这个调用是不等的,执行...”这是公平的,因为这里应该使用await关键字。但是,当我将其添加到:
时await socket.ConnectAsync(e);
我收到错误:“'await'运算符只能在异步方法中使用。”
这有点令人沮丧。我无法理解这对我正在调用的方法是如何工作的,因为这是一个预编译函数,带有签名:
public IAsyncAction ConnectAsync(EndpointPair endpointPair);
我该怎么办?在我有限的理解中,这似乎是.net的问题,并让我发疯!任何帮助将不胜感激。
答案 0 :(得分:2)
您需要 函数,即调用socket.ConnectAsync(e)
的函数,异步。
void MyFunction()
{
await socket.ConnectAsync(e);
}
让你看到错误。将其更改为
async Task MyFunction()
{
await socket.ConnectAsync(e);
}