所以我有服务类及其接口名称:
IBusApi,BusApi
而且我可以像这样轻松地在Autofac中注册它
builder.RegisterType<BusApi>().As<IBusApi>();
但是现在我有了用于注入HttpClient的服务的构造函数
public BusApi(HttpClient http )
{
_http = http ;
}
我如何在DI中注册该服务?考虑到它有一个构造函数
对于所有DI / IOC库,答案都是相同的。
对于您注册的类型(此处为BusApi
)。该类型的构造函数中的所有类型也必须在DI容器(此处为HttpClient
)中注册/解析。
因此您可以执行builder.RegisterType<HttpClient>()
或builder.RegisteInstance(new HttpClient(..) )
。
关于注册HttpClient
,您可能还会阅读:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-3.1&viewFallbackFrom=aspnetcore-2.0