HttpClient如何注入时配置 基础地址、Token

提问

HttpClient如何注入时配置 基础地址、Token

回答

 services.AddHttpClient<GenericScadaClient>()
            .ConfigureHttpClient(client =>
            {
                var configuration = //TODO:获取配置

                if (configuration  is not null)
                {
                    client.BaseAddress = //TODO:BaseAddress
                    client.Timeout = //TODO: 超时
                }

                var loginHelper = provider.GetService<LoginHelper>();

                if (loginHelper is not null)
                {
                    var token = //TODO: 超token 
                    client.DefaultRequestHeaders.Add("Authorization", token);
                }
            }).AddTransientHttpErrorPolicy(builder =>
            {
                return builder.Or<TaskCanceledException>()
                    .Or<OperationCanceledException>()
                    .Or<SystemException>()
                    .OrResult(res =>
                        res.StatusCode == System.Net.HttpStatusCode.TooManyRequests || (int)res.StatusCode >= 500)
                    .RetryAsync(2);
            });
posted @   东百牧码人  阅读(156)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2022-08-24 C# InfluxDB批量插入
2016-08-24 adb not responding. if you'd like to
点击右上角即可分享
微信分享提示