C# 在ASP.NET MVC中使用HttpClientFactory

C# 在ASP.NET MVC中使用HttpClientFactory,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个ASP.NET MVC应用程序,它使用HttpClient调用ASP.NET Web API REST服务 private static HttpClient client = new HttpClient(); public async Task DumpWarehouseDataIntoFile(Warehouse myData, string path, string filename) { try { //Hosted web API REST

我有一个ASP.NET MVC应用程序,它使用HttpClient调用ASP.NET Web API REST服务

private static HttpClient client = new HttpClient();

public async Task DumpWarehouseDataIntoFile(Warehouse myData, string path, string filename)
{ 
    try
    {
       //Hosted web API REST Service base url  
       string Baseurl = "http://XXX.XXX.XX.X:YYYY/";  

       //using (var client = new HttpClient())  --> I have declared client as an static variable
       //{  
        //Passing service base url  
        client.BaseAddress = new Uri(Baseurl);  

        client.DefaultRequestHeaders.Clear();  

        //Define request data format  
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));  
          
        // Serialize parameter to pass to the asp web api rest service
        string jsonParam = Newtonsoft.JsonConvert.SerializeObject(myData);

        //Sending request to find web api REST service resource  using HttpClient
        var httpContent = new StringContent(jsonParam, Encoding.UTF8, "application/json");

        HttpResponseMessage Res = await client.PostAsync("api/Warehouse/DumpIntoFile", httpContent);  

        //Checking the response is successful or not which is sent using HttpClient  
        if (Res.IsSuccessStatusCode)  
        {  
           // Some other sftuff here
        }
       //}
     }
     catch (Exception ex)
     {
          // Do some stuff here
     } // End Try

} // End DumpWarehouseDataIntoFile method

现在我试图安装nuget软件包,以便使用HttpClientFactory而不是直接使用HttpClient,但在安装它时出现了一个错误。这似乎是不相容的。我的ASP.NET MVC项目以标准ASP.NET Framework 4.5(非核心)为目标

下面是安装nuget软件包时出现的错误(很抱歉是西班牙语)。它说:

正在安装“Microsoft.Extensions.Http 5.0.0”。 “Microsoft.Extensions.Http 5.0.0”已正确安装。添加 “Microsoft.Extensions.Http 5.0.0”到Application.InspeccionesModule。。。 安装错误。正在回滚。。。无法安装软件包 “Microsoft.Extensions.Http 5.0.0”。您正在尝试安装此 将“.NETFramework,Version=v4.5”作为 目标,但包不包含程序集引用或 与该框架兼容的内容文件


如何安装HttpClientFactory软件包?我如何配置基址url、请求头等,然后在HttpClientFactory中以与经典HttpClient相同的方式调用PostAsync?非常感谢您提供的任何代码片段。

“但我在安装时遇到了一个错误”,我们看不到您的屏幕,因此,如果您希望我们能够帮助您,请提出您的问题并粘贴准确的错误消息。@Camiloteriento我已经发布了错误,尽管这是西班牙语的。嗯,如果查看共享链接中的Dependencies选项卡:-它表示支持.NET Standard 2.0或.NET Framework 4.6.1-错误消息指出您的目标是.NET Framework 4.5(它非常旧,不受支持)。我强烈建议您更新到.NET Framework 4。8@CamiloTerevinto好的,我可以假设在Net4.5中不可能使用HttpClientFactory。这不是一个假设,而是一个定义的约束:)“但是我在安装它时出错了”,我们看不到你的屏幕,因此,如果您希望我们能够帮助您,请提出您的问题并粘贴准确的错误消息。@CamiloTerevinto我已经发布了错误消息,尽管这是西班牙语的。嗯,如果查看共享链接中的Dependencies选项卡:-它表示支持.NET Standard 2.0或.NET Framework 4.6.1-错误消息指出您的目标是.NET Framework 4.5(它非常旧,不受支持)。我强烈建议您更新到.NET Framework 4。8@CamiloTerevinto好的,我可以假设在Net4.5中不可能使用HttpClientFactory。这不是一个假设,而是一个定义的约束:)