diff --git a/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs b/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs index a4c6019..a306576 100644 --- a/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs +++ b/RhSolutions.AddIn/AddIn/RhSolutionsAddIn.cs @@ -1,21 +1,24 @@ using ExcelDna.Integration; using ExcelDna.IntelliSense; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Office.Interop.Excel; using RhSolutions.Services; using System.Net; -using System.Net.Http; namespace RhSolutions.AddIn { - class RhSolutionsAddIn : IExcelAddIn + public class RhSolutionsAddIn : IExcelAddIn { public static Application Excel { get; private set; } - public static HttpClient HttpClient { get; private set; } + public static ServiceProvider ServiceProvider { get; set; } public void AutoOpen() { + IServiceCollection Services = new ServiceCollection(); + Services.AddHttpClient(); + ServiceProvider = Services.BuildServiceProvider(); + Excel = (Application)ExcelDnaUtil.Application; - HttpClient = new HttpClient(); IntelliSenseServer.Install(); RegistryUtil.Initialize(); EventsUtil.Initialize(); @@ -29,7 +32,7 @@ namespace RhSolutions.AddIn IntelliSenseServer.Uninstall(); RegistryUtil.Uninitialize(); EventsUtil.Uninitialize(); - HttpClient.Dispose(); + //HttpClient.Dispose(); } } } diff --git a/RhSolutions.AddIn/RhSolutions.AddIn.csproj b/RhSolutions.AddIn/RhSolutions.AddIn.csproj index 9b88245..f5498c0 100644 --- a/RhSolutions.AddIn/RhSolutions.AddIn.csproj +++ b/RhSolutions.AddIn/RhSolutions.AddIn.csproj @@ -1,6 +1,6 @@  - net472;net6.0-windows + net472;net6.0-windows7.0 10 Library RhSolutions.AddIn @@ -13,13 +13,18 @@ - + + true + + + true + + - \ No newline at end of file diff --git a/RhSolutions.AddIn/Services/RhDatabaseClient.cs b/RhSolutions.AddIn/Services/RhDatabaseClient.cs index 70530ae..43463ca 100644 --- a/RhSolutions.AddIn/Services/RhDatabaseClient.cs +++ b/RhSolutions.AddIn/Services/RhDatabaseClient.cs @@ -1,4 +1,5 @@ -using Newtonsoft.Json; +using Microsoft.Extensions.DependencyInjection; +using Newtonsoft.Json; using RhSolutions.AddIn; using RhSolutions.Models; using System; @@ -25,7 +26,8 @@ namespace RhSolutions.Services request = @"https://rh.cebotari.ru/api/search?query=" + line; } - var response = await RhSolutionsAddIn.HttpClient.GetAsync(request); + var client = RhSolutionsAddIn.ServiceProvider.GetRequiredService(); + var response = await client.GetAsync(request); try {