【发布时间】:2019-11-28 15:28:01
【问题描述】:
我正在尝试将IHttpClientFactory 添加到我的 C# ASP.NET Web 表单 应用程序中的 NInject 中,以便我可以在服务中使用它。网上有很多关于使用 IHttpClientFactory 的文档(而不是创建大量 HttpClient 实例),但是:
- 文档/示例基于使用 .NET Core 的接口,我使用的是 ASP.NET(即 .NET Framework),例如https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests, https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-3.0
- 文档往往是关于使用 Microsoft 自己的依赖注入系统而不是 NInject 连接
IHttpClientFactory。
那么,我尝试了什么?好吧,我不知道从哪里开始,因为虽然IHttpClientFactory 在System.Net.Http 命名空间中定义得很好,但我没有可以将它绑定到的具体实现。我想写这个:
public class ClassLibNinjectModule : NinjectModule
{
public override void Load()
{
Bind<System.Net.Http.IHttpClientFactory>().ToConstant<System.Net.Http.HttpClientFactory>();
}
}
但是:
-
System.Net.Http.HttpClientFactory是静态类型,它没有实现System.Net.Http.IHttpClientFactory(不同的方法:CreateClient()vsCreate()) - 我似乎不知道如何将服务绑定到静态提供程序。
谁能告诉我哪里出错了?谢谢。
【问题讨论】:
-
也有这个问题。在我的项目中,thera 只是 NinjectModules。没有启动
标签: asp.net webforms ninject .net-framework-version