启动中的服务注入

问题描述 投票:0回答:1

如何确保服务注入了 AppSettings 中的值和 HttpClient(由 IHttpClientFactory 创建)?

这是我在启动中配置服务的一部分:

 int.TryParse(Configuration["AppSettings:soapTimeoutSeconds"], out int seconds);
 services.AddHttpClient<SoapService>();
 services.AddScoped<SoapService>();

这就是我构建服务的方式:

Class SoapService
{
   public SoapService(HttpClient httpClient, int seconds)
   {
       this.HttpClient = httpClient;
       this.seconds= seconds;
   }

}
c# asp.net-core dependency-injection httpclient asp.net-core-5.0
1个回答
2
投票

如果您想为

HttpClient
配置超时 - 有一个
AddHttpClient
overload 接受配置操作:

services.AddHttpClient<SoapService>(client => client.Timeout = TimeSpan.FromSeconds(seconds));

否则我建议您创建一个类来包含此设置并注册/解析它。

© www.soinside.com 2019 - 2024. All rights reserved.