如何在ASP.NET中将IHttpClientFactory添加到NInject
我正在尝试将如何在ASP.NET中将IHttpClientFactory添加到NInject,asp.net,webforms,ninject,.net-framework-version,Asp.net,Webforms,Ninject,.net Framework Version,我正在尝试将IHttpClientFactory添加到我的C#ASP.NET Web表单应用程序中的NInject,以便在服务中使用它。网上有很多关于使用(而不是创建大量HttpClient实例)的文档,但是: 文档/示例基于使用.NET Core接口,我使用ASP.NET(即.NET Framework),例如 文档往往是关于使用Microsoft自己的依赖项注入系统而不是NInject连接IHttpClientFactory 那么,我试过什么?嗯,我真的不知道从哪里开始,因为虽然IHttpC
IHttpClientFactory
添加到我的C#ASP.NET Web表单应用程序中的NInject,以便在服务中使用它。网上有很多关于使用(而不是创建大量HttpClient
实例)的文档,但是:
IHttpClientFactory
在System.Net.Http
名称空间中定义得很好,但是没有具体的实现可以绑定到它。我想写这封信:
public class ClassLibNinjectModule : NinjectModule
{
public override void Load()
{
Bind<System.Net.Http.IHttpClientFactory>().ToConstant<System.Net.Http.HttpClientFactory>();
}
}
公共类ClassLibNinjectModule:NinjectModule
{
公共覆盖无效负载()
{
Bind().ToConstant();
}
}
然而:
System.Net.Http.HttpClientFactory
是一种静态类型,它不实现System.Net.Http.IHttpClientFactory
(不同的方法:CreateClient()
与Create()
)有人能告诉我哪里出了问题吗?谢谢。安装nuget软件包:
Microsoft.Extensions.Http
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Hosting
下一步添加到您的global.asax.cs:
using Microsoft.Extensions.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace....
....
public static IServiceProvider ServiceProvider;
void Application_Start(object sender, EventArgs e)
{
var hostBuilder = new HostBuilder();
hostBuilder.ConfigureServices(ConfigureServices);
var host = hostBuilder.Build();
ServiceProvider = host.Services;
}
void ConfigureServices(IServiceCollection services)
{
services.AddHttpClient(); //extension method that add IHttpClientFactories
*inject services here*
}
也有这个问题。在我的项目中,thera只是九个模块。没有问题,谢谢。我混合使用
Microsoft.Extensions.DependencyInjection
和Ninject
,这有什么关系吗?有一些缺点。以下是一些链接: