代码之家  ›  专栏  ›  技术社区  ›  Christopher

如何将每用户配置添加到AddHttpClient?

  •  0
  • Christopher  · 技术社区  · 6 年前

    启动.cs 配置我的 HttpClient

    services.AddHttpClient<MyHttpClient>(httpClient =>
        {
            httpClient.BaseAddress = new Uri(mySiteAddress);
            httpClient.DefaultRequestHeaders.Authorization =
                new System.Net.Http.Headers.AuthenticationHeaderValue(
                "Bearer",
                "???");
        });
    

    "???" 有一个有效的持有者令牌。

    string

    我可以用一个令牌来消除所有的冗余吗?

    0 回复  |  直到 6 年前
        1
  •  0
  •   Nkosi    6 年前

    AddHttpClient overloads 配置委托可以访问 IServiceProvider MyHttpClient )

    services.AddHttpClient<MyHttpClient>((serviceProvider, httpClient) => {
    
        var someService = servideProvider.GetService<ISomeService>();
    
        httpClient.BaseAddress = new Uri(mySiteAddress);
        httpClient.DefaultRequestHeaders.Authorization =
            new System.Net.Http.Headers.AuthenticationHeaderValue(
                "Bearer",
                someService.GetTokem()); //<--
    });
    

    但我不完全确定这有多可行,因为可能在调用这个委托时用户可能还没有实现。

    推荐文章