在 getAsync 中为客户端添加 header(在 using 块中)

add header for a client in getAsync (in a using block )

正在尝试向此处的客户端变量添加 header 属性。 C#/ window 表单的新手。

using (var client = new HttpClient())
using (var response = client.GetAsync(page).Result)
using (var content = response.Content) {
           response = content.readAsStringAsync().Result();
       }

我想在上面的代码中添加一个header。

 client.DefaultRequestHeaders.Add("myHeader", "value");

不确定放在哪里。尝试添加 using(var client = new HttpClient() { client.addheader('header', 'value') }。但这似乎使客户端超出了下一行代码的范围。

如果您正确布局代码,您将看到变量的范围。

using (var client = new HttpClient()) {
    client.DefaultRequestHeaders.Add("myHeader", "value");
    using (var response = await client.GetAsync(page)) {        
       var result = await response.Content.ReadAsStringAsync();
    }
}

如评论中所述,尽量不要在异步代码上阻塞 (.Result)。

HttpClient应该长寿。不断地初始化和处置它们会对性能产生不利影响。