Wil*_*mas 69 .net c# build async-await .net-4.5
我正在尝试制作一个简单的程序来测试Visual Studio 2012中新的.NET异步功能.我通常使用BackgroundWorkers来异步运行耗时的代码,但有时候看起来像是一个相对简单(但很昂贵)操作的麻烦.新的异步修改器看起来很好用,但不幸的是我似乎无法进行简单的测试.
这是我在C#控制台应用程序中的代码:
static void Main(string[] args)
{
string MarsResponse = await QueryRover();
Console.WriteLine("Waiting for response from Mars...");
Console.WriteLine(MarsResponse);
Console.Read();
}
public static async Task<string> QueryRover()
{
await Task.Delay(5000);
return "Doin' good!";
}
Run Code Online (Sandbox Code Playgroud)
我在MSDN上查看了一些示例,它看起来像我的代码应该正常工作,但我在包含"await QueryRover();"的行上遇到了构建错误.我疯了还是发生了什么?
Ste*_*ary 75
您只能await在async方法中使用,而Main不能使用async.
你将不得不使用自己的async兼容的情况下,调用Wait的返回Task的Main方法,或只是忽略返回的Task,只是在电话会议上阻止Read.请注意,Wait将包装任何异常AggregateException.
如果你想要一个好的介绍,请参阅我的async/ await介绍帖子.
| 归档时间: |
|
| 查看次数: |
85910 次 |
| 最近记录: |