提问人:Rk R Bairi 提问时间:8/25/2017 最后编辑:Rk R Bairi 更新时间:8/25/2017 访问量:974
在 getAsync 中为客户端添加标头(在 using 块中)
add header for a client in getAsync (in a using block )
问:
尝试在此处向客户端变量添加标头属性。C#/窗口窗体的新手。
using (var client = new HttpClient())
using (var response = client.GetAsync(page).Result)
using (var content = response.Content) {
response = content.readAsStringAsync().Result();
}
我想在上面的代码中添加一个标头。
client.DefaultRequestHeaders.Add("myHeader", "value");
不知道该放在哪里。尝试添加 using(var client = new HttpClient() { client.addheader('header', 'value') }。但这似乎使客户端超出了下一行代码的范围。
答:
2赞
Nkosi
8/25/2017
#1
如果正确布局代码,您将看到变量的作用域。
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
评论
HttpClient