.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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM