在ASP.NET WebForms中实现IHTTPCLIENTFACTORY 4.7.2
我正在尝试在使用WebForms创建的项目中实现IHTTPCLIENTFACTORY,.NET FREMERWORK 4.7.2:
global.asax:
公共静态iserviceProvider ServiceProvider; void application_start(对象发送者,EventArgs e) { var容器= this.addunity(); container.RegisterType< ihttpClientFactoryProvider,httpclientFactoryProvider>(); container.RegisterType< imyanager,mymanager>(); var hostbuilder = new hostbuilder(); hostbuilder.configureservices(configureservices); var host = hostbuilder.build(); ServiceProvider = host.Services; //在应用程序启动上运行的代码 RouteConfig.RegisterRoutes(Routetable.Routes); Bundleconfig.RegisterBundles(Bondletable.Bundles); } void configureservices(iservCollection Services) { services.addhttpclient(); }
呼叫ihttpclientFactory的类:
公共类HTTPCLIENTFACTORYPROVIDER:IHTTPCLIENTFACTORYPROVIDER { 私有ReadOnly IHTTPClientFactory _httpClientFactory; 公共HTTPCLIENTFACTORYPROVIDER(IHTTPCLIENTFACTORY HTTPCLIENTFACTORY) { _httpClientFactory = httpClientFactory; } 公共字符串getData() { var test = _httpClientFactory.CreateClient(); 返回 ””; } }
mymanager注入httpclientfactoryprovider:
公共类Mymanager:Imyanager { 私有Readonly IHTTPCLIENTFACTORYPROVIDER _httpClientFactoryProvider; 公共Mymanager(IHTTPCLIENTFACTORYPROVIDER HTTPCLIENTFACTORYPROVIDER) { _httpClientFactoryProvider = httpClientFactoryProvider; } 公共字符串getData() { 返回_httpClientFactoryProvider.getData(); } }
page default.aspx:
公共部分类_DEFAULT:页面 { 私人读书imyanager _mymanager; public _default(Imyanager Mymanager) { _mymanager = mymanager; } public _default() { } 受保护的void page_load(对象发送者,EventArgs e) { 如果(!iSpostback) { var结果= _mymanager.getData(); } } }
问题是_mymanager始终是空的,我做了所有可能的解决方案,但什么也没有。
I'm trying to implement IHttpClientFactory in my project created with webforms, .NET Framework 4.7.2 :
Global.asax :
public static IServiceProvider ServiceProvider; void Application_Start(object sender, EventArgs e) { var container = this.AddUnity(); container.RegisterType<IHttpClientFactoryProvider, HttpClientFactoryProvider>(); container.RegisterType<IMyanager, MyManager>(); var hostBuilder = new HostBuilder(); hostBuilder.ConfigureServices(ConfigureServices); var host = hostBuilder.Build(); ServiceProvider = host.Services; // Code that runs on application startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } void ConfigureServices(IServiceCollection services) { services.AddHttpClient(); }
The class that call IHttpClientFactory:
public class HttpClientFactoryProvider : IHttpClientFactoryProvider { private readonly IHttpClientFactory _httpClientFactory; public HttpClientFactoryProvider(IHttpClientFactory httpClientFactory) { _httpClientFactory = httpClientFactory; } public string GetData() { var test = _httpClientFactory.CreateClient(); return ""; } }
MyManager that inject HttpClientFactoryProvider :
public class MyManager : IMyanager { private readonly IHttpClientFactoryProvider _httpClientFactoryProvider; public MyManager(IHttpClientFactoryProvider httpClientFactoryProvider) { _httpClientFactoryProvider = httpClientFactoryProvider; } public string GetData() { return _httpClientFactoryProvider.GetData(); } }
Page Default.aspx:
public partial class _Default : Page { private readonly IMyanager _mymanager; public _Default(IMyanager mymanager) { _mymanager = mymanager; } public _Default() { } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var result = _mymanager.GetData(); } } }
The problem is that _mymanager is always null, i have done all possible solutions but nothing.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论