小编Mat*_*att的帖子

创建HttpClient辅助方法的问题

我有一个功能异步的任务调用Web服务:

private async Task GetResult()
{
   using (var client = new HttpClient())
   {
      client.BaseAddress = new Uri(_baseAddress);
      client.DefaultRequestHeaders.Accept.Clear();
      client.DefaultRequestHeaders.Accept.Add(
         new MediaTypeWithQualityHeaderValue("application/json"));
      client.DefaultRequestHeaders.Add("Username", _username);
      client.DefaultRequestHeaders.Add("Action", "GET");
      /* etc */
      var response = await client.GetAsync(client.BaseAddress);
   }
}
Run Code Online (Sandbox Code Playgroud)

我想分离出HttpClient对象的创建,以便可以参数化和重用:

private async Task GetResult()
{
   using (var client = GetClient(_baseAddress, _username))
   {
      var response = await client.GetAsync(client.BaseAddress);
   }
}
private static HttpClient GetClient(string Address, string Username)
{
   using (var client = new HttpClient())
   {
      client.BaseAddress = new Uri(Address);
      client.DefaultRequestHeaders.Accept.Clear();
      client.DefaultRequestHeaders.Accept.Add(
         new MediaTypeWithQualityHeaderValue("application/json"));
      client.DefaultRequestHeaders.Add("Username", Username); …
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient

4
推荐指数
1
解决办法
935
查看次数

标签 统计

c# ×1

dotnet-httpclient ×1