.NET Core 控制台应用程序使用异步(Async)Main方法

C# 7.1 及以上的版本允许我们使用异步的Main方法。

一.新建一个控制台应用程序

1529762562337

二.异步Main方法

我们直接将Main方法改为如下:

static async Task Main(string[] args)
1529762747510

可以看到报错了,提示我们是C# 7.1 的特性。我们有两种方法可以解决,其实最后都是殊途同归,只是操作不一样而已。

1.第一种方法-修改csproj文件

打开项目的csproj文件,添加如下代码:

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <LangVersion>7.1</LangVersion>
  </PropertyGroup>

例如:

1529762909659

2.第二种方法-通过vs更改项目属性

在“解决方案管理器”界面中,选中项目,然后 右键->属性 -> Build

1529763028967

在弹出的界面中选中 C# 7.1

1529763064679

经过上面的更改以后,将不会报错了。

三.验证

我们在Main方法中,加入如下代码,获取百度首页的html:

class Program
{
    static async Task Main(string[] args)
    {
        var client = new HttpClient();
        var result = await client.GetStringAsync("https://www.baidu.com/");
        Console.WriteLine(result);
        Console.ReadKey();
    }
}

然后运行:

1529763181795

本文所用代码:https://github.com/stulzq/BlogDemos/tree/master/AsyncConsoleApp

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小特工作室

读取Pdm文件内容(含源码)

  Pdm文件,就是PowerDesigner软件生成的文件,用来设计数据库表结构非常适合。其实,它的文件存储格式就是Xml,网上有很多代码,可以读取pdm文件...

2319
来自专栏fixzd

redis系列:RDB持久化与AOF持久化

Redis的数据都是存储在内存中的,所以Redis持久化也就是要把Redis存储在内存中的数据保存到硬盘。

611
来自专栏晓晨的专栏

.NET Core 控制台应用程序使用异步(Async)Main方法

973
来自专栏Pythonista

redis主从同步

原理: 1. 从服务器向主服务器发送 SYNC 命令。 2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接...

1402
来自专栏Golang语言社区

golang模板template自定义函数用法示例

golang的模板十分强大,其中的unix管道风格函数调用很是喜欢. 模板中有很多内置可以参看pkg文档, 另外还可以实现自定义函数. 例子如下: packag...

4314
来自专栏WindCoder

Myeclipse错误集锦

Errors occurred during the build. Errors running builder 'DeploymentBuilder' on ...

971
来自专栏老马寒门IT

cookie 详解

HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起...

960
来自专栏JAVA后端开发

spring boot2.0实现对quartz的集成

1772
来自专栏IT可乐

Redis详解(七)------ AOF 持久化

  上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所...

1140
来自专栏fixzd

redis系列:RDB持久化与AOF持久化

Redis的数据都是存储在内存中的,所以Redis持久化也就是要把Redis存储在内存中的数据保存到硬盘。 Redis提供了两种持久化方式

922

扫码关注云+社区