如何从asp.net中间件发出http请求?

时间:2019-12-17 12:25:30

标签: asp.net http

我有一个中间件,该中间件需要取消对外部服务的检查,以检查某些状态然后对其执行操作。我想知道如何从中间件发出请求吗?

我看过一些有关拥有HttpClientFactory服务的文档,但是我不确定如何将其提供给中间件?

1 个答案:

答案 0 :(得分:0)

您可以使用默认的HttpClient

这使您可以在中间件中创建客户端并发送所需的任何请求。

示例:

using(var client = new HttpClient()){
  try   
  {
     HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
     response.EnsureSuccessStatusCode();
     string responseBody = await response.Content.ReadAsStringAsync();
     // Above three lines can be replaced with new helper method below
     // string responseBody = await client.GetStringAsync(uri);

     Console.WriteLine(responseBody);
  }  
  catch(HttpRequestException e)
  {
     Console.WriteLine("\nException Caught!");  
     Console.WriteLine("Message :{0} ",e.Message);
  }
}