首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完整框架的IHttpClientFactory (4.7)和IoC

完整框架的IHttpClientFactory (4.7)和IoC
EN

Stack Overflow用户
提问于 2020-12-02 22:22:43
回答 1查看 819关注 0票数 3

我试图在完整的Framework4.7(非核心)中注册IHttpClientFactory。我使用的是IoC容器(LightInject)

问题是,我无法直接访问内部类DefaultHttpClientFactory https://github.com/dotnet/runtime/blob/master/src/libraries/Microsoft.Extensions.Http/src/DefaultHttpClientFactory.cs的实现--这个类是不可见的,因为它不是公共的。我找到了第三方实现的解决方案-- https://github.com/uhaciogullari/HttpClientFactoryLite,它使用自己的接口。

是否可以将接口IHttpClientFactory与IoC用于完整框架(而不是.net核心)?

如果可能的话,在注册IHttpClientFactory期间,我可以使用哪个类作为IoC的实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-03 09:11:21

正如在这个github问题中所建议的那样,您可以使用以下内容:

代码语言:javascript
复制
var serviceProvider = new ServiceCollection().AddHttpClient().BuildServiceProvider();
container.RegisterInstance(serviceProvider.GetService<IHttpClientFactory>());
container.ContainerScope.RegisterForDisposal(serviceProvider);
  • AddHttpClient 寄存器 DefaultHttpClientFactory for IHttpClientFactory
  • 然后,您可以从DI容器中检索它。

此示例使用SimpleInjector,但相同的概念可应用于任何其他DI框架。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65117044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档