我使用Visual Studio 2017 v15.9.4,.NET Standard 2.0.3和最新版本的.NETCore 2.1.6。我在Windows 10 64位系统上运行我的应用程序。
此代码:
using (HttpClient client = new HttpClient())
{
try
{
var response = await client.GetAsync("http://httpbin.org/")
...
不适用于最新版本的.NET Core 2.1或2.2。 我有这个例外:
Result StackTrace:
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at EliorNugetCommon.Tests.APIManagerTests.Get() in D:\Git\Elior-Group\WebApiServices\NugetWAS\EliorNugetCommon\EliorNugetCommon.Tests\APIManagerTests.cs:line 50
----- Inner Stack Trace -----
Result Message:
System.AggregateException : One or more errors occurred. (A task was canceled.)
---- System.Threading.Tasks.TaskCanceledException : A task was canceled.
但是,这适用于.NET Core 2.0.9!
谢谢您的帮助。
答案 0 :(得分:1)
在.NET Core和.NET Core 2.2中使用新的HTTP堆栈时,在代理后面进行了身份验证以进行回归。在这种情况下,我们可以使用.NET Core 2.0 HTTP堆栈此开关:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
有关更多信息,请参见此处:https://github.com/dotnet/corefx/issues/30166