.NET Core 2.1 поставляется с отличным улучшение System.Net.HttpClient
Для HttpClient мы создали новый управляемый HttpClientHandler с нуля под названием SocketHttpHandler. Как вы, наверное, догадались, это реализация HttpClient на C # на основе сокетов .NET и Span.
Мое приложение - это приложение ASP.NET Core, размещенное как служба Windows, согласно Microsoft this doc, проект основан на .NET Core, но его TargetFramework
- это .NET framework.
Приложение хорошо работает с .NET Core 2.0, нацеленным на .NET framework 4.7.1.
Недавно Microsoft выпустила Microsoft.AspNetCore 2.1.0-rc1-final, который готов к производственному использованию. Поэтому я попытался перейти на эту версию.
поэтому я обновил TargetFramework
до 4.7.2 и обновил ссылку, как показано ниже.
<PackageReference Include="Microsoft.AspNetCore" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.AspNetCore.Hosting.WindowsServices" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.1.0-rc1-final" />
<PackageReference Include="Microsoft.AspNetCore.WebSockets" Version="2.1.0-rc1-final" />
Затем он перестает работать, и компилятор выдает ошибку, например Не удалось найти тип или имя пространства имен "HttpClient".
Мне известно, что HttpClient
существует в сборке NuGet System.Net.Http
.
Однако его последняя версия - 4.3.3 от 8 месяцев назад, которая, как мне кажется, не содержит реализации SocketHttpHandler.
Итак, мой вопрос: как я могу использовать последнюю версию HttpClient из .NET Core 2.1, ориентированную на .NET framework 4.7.2?