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

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

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

IBusApi,BusApi

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

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

但是现在我有了用于注入HttpClient的服务的构造函数

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

我如何在DI中注册该服务?考虑到它有一个构造函数

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

对于所有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

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