小编Mar*_*tir的帖子

尝试在 ac# 控制台应用程序中运行多个异步任务

我有一个主方法,它调用另一个类的方法,这些方法都是异步任务方法,但不返回任何内容。他们正在向 REST API 客户端发送 get 请求。以下是名为 DbRequestHandler 的类中的一个方法的示例:

public static async Task ReadRooms(HttpClient client)
{
    // HTTP GET all rooms
    HttpResponseMessage response = await client.GetAsync("api/v1/rooms");

    if (response.IsSuccessStatusCode)
    {
        StreamWriter file = new StreamWriter("xmlRooms.xml", false);

        string rooms = await response.Content.ReadAsStringAsync();
        file.Write(rooms);
        file.Flush();

        Console.Out.Write(rooms);
        Console.ReadKey();
    }
}
Run Code Online (Sandbox Code Playgroud)

下面是通过调用 DbRequestHandler 运行程序的 Main 方法:

static void Main(string[] args)
{
    var url = System.Configuration.ConfigurationManager.AppSettings["CentrisURL"];

    if (url == null)
    {
        Console.WriteLine("Failed to load API url");
    }

    var client = new HttpClient();
    client.BaseAddress = new Uri(url);
    client.DefaultRequestHeaders.Accept.Clear(); …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous console-application visual-studio-2013

3
推荐指数
1
解决办法
2191
查看次数