如何在等待运算符后阻止调用方线程



我正在使用新的HttpClient类将一些数据上传到服务器,所以我被迫使用新的运算符,如await/async。 我有以下问题:如何阻止调用线程等待第一个文件上传,然后移动到下一个文件。

    public async Task Upload(string filename)
    {
        HttpRequestMessage message = new HttpRequestMessage();
        StreamContent streamContent = new StreamContent(new FileStream(filename, FileMode.Open));
        message.Method = HttpMethod.Put;
        message.Content = streamContent;
        message.RequestUri = new Uri(webURI);
        HttpResponseMessage response = await httpClient.SendAsync(message);
        //I want to reach this point untill I will start to upload next file
        if (response.IsSuccessStatusCode)
        {
            //do something
        }

    }
    void uploadFiles()
    {
        foreach (string filename in filenames)
        {
            Upload(filename);
        }
    }

感谢您对我的问题的任何关注。

await上传已完成上传,然后再

上传下一个文件:

async void uploadFiles()
{
    foreach (string filename in filenames)
    {
        await Upload(filename);
    }
}

最新更新