当前位置 主页 > 网站技术 > 代码类 >

    为HttpClient添加默认请求报头的四种解决方案(2)

    栏目:代码类 时间:2019-09-11 14:27

    第四种方式

    上面这种方式可以采用强类型编程方式,具体的代码如下。

    class Program{  static Task Main()=> SendAsync4();  private static async Task SendAsync4()  {    DiagnosticListener.AllListeners.Subscribe(listener =>    {      if (listener.Name == "HttpHandlerDiagnosticListener")      {        listener.SubscribeWithAdapter(new HttpClientListener());      }    });          var httpClient = new HttpClient();    await httpClient.GetStringAsync("http://localhost:5000/");  }  private sealed class HttpClientListener  {    [DiagnosticName("System.Net.Http.HttpRequestOut.Start")]    public void OnSend(HttpRequestMessage request) => AddDefaultHeaders(request);    //Must subscribute the System.Net.Http.HttpRequestOut event.    [DiagnosticName("System.Net.Http.HttpRequestOut")]    public void OnSend() { }  }  private static void AddDefaultHeaders(HttpRequestMessage request)  {    request.Headers.Add("x-www-foo", "123");    request.Headers.Add("x-www-bar", "456");    request.Headers.Add("x-www-baz", "789");  }}

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对IIS7站长之家的支持。