如何在依赖注入中注册在ASP.NET MVC中具有构造函数的服务

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

我有服务类及其接口名称:

IBusApi, BusApi

而且我可以像这样轻松地在Autofac中注册它

builder.RegisterType<BusApi>().As<IBusApi>();

但是现在我已经为该服务注入了HttpClient]的构造函数>

public BusApi(HttpClient http)
{
    _http = http ;
}

如何在DI中注册该服务?

考虑到它具有构造函数

我有一个服务类及其接口,名称为:IBusApi,BusApi,我可以像在此构建器中那样轻松地在Autofac中注册它。RegisterType()。As ();但是现在我有了...

c# asp.net-mvc dependency-injection httpclient autofac
2个回答
1
投票

对于所有DI / IOC库,答案都是相同的。

对于您注册的类型(此处为BusApi)。该类型的构造函数中的所有类型也必须在DI容器(此处为HttpClient)中注册/解析。

因此您可以执行builder.RegisterType<HttpClient>()builder.RegisteInstance(new HttpClient(..) )


0
投票

基本上,您需要在DI容器中的构造函数中注册所有类型。

所以您可以这样解决您的问题

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