使用 Azure 管理 API 列出容器组失败并出现 System.Net.Sockets.SocketException

Posted

技术标签:

【中文标题】使用 Azure 管理 API 列出容器组失败并出现 System.Net.Sockets.SocketException【英文标题】:List container groups using Azure management APIs fails with System.Net.Sockets.SocketException 【发布时间】:2020-03-21 04:05:37 【问题描述】:

我几个月来一直在使用一些 Azure 管理 nuget 包,例如 Azure Container Instances libraries for .NET。

几天前,我在尝试做一些简单的事情(例如获取容器实例列表)时发现了一些错误 - 例如:

using Microsoft.Azure.Management.ContainerInstance.Fluent;
using Microsoft.Azure.Management.ContainerInstance.Models;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Core;

var groups = await _azure.ContainerGroups.ListAsync(loadAllPages: true);

错误信息如下:

操作已取消。无法从传输连接读取数据:由于线程退出或应用程序请求,I/O 操作已中止。由于线程退出或应用程序请求,I/O 操作已中止

此代码正在 Azure 函数上执行,但在我的机器上运行时出现同样的错误。

在 Azure 函数上运行代码时,异常的堆栈跟踪如下:

System.Threading.Tasks.TaskCanceledException: 在 Microsoft.Rest.RetryDelegatingHandler+d__15.MoveNext(Microsoft.Rest.ClientRuntime,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.ProviderRegistrationDelegatingHandler+d__4.MoveNext (Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.HttpLoggingDelegatingHandler+d__7.MoveNext (Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.UserAgentDelegatingHandler+d__5.MoveNext(Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Net.Http.HttpClient+d__62.MoveNext(System.Net.Http,版本=4.2.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ContainerInstance.Fluent.ContainerGroupsOperations+d__7.MoveNext(Microsoft.Azure.Management.ContainerInstance.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.ConfiguredTaskAwaitable1+ConfiguredTaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ContainerInstance.Fluent.ContainerGroupsOperationsExtensions+d__2.MoveNext(Microsoft.Azure.Management.ContainerInstance.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.ResourceActions.IndexableRefreshableWrapper2+d__8.MoveNext (Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ContainerInstance.Fluent.ContainerGroupImpl+d__37.MoveNext(Microsoft.Azure.Management.ContainerInstance.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ContainerInstance.Fluent.ContainerGroupsImpl+d__21.MoveNext(Microsoft.Azure.Management.ContainerInstance.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.PagedCollection2+c__DisplayClass21_0+d.MoveNext(Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.PagedCollection2+d__21.MoveNext(Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ResourceManager.Fluent.Core.PagedCollection2+d__16.MoveNext (Microsoft.Azure.Management.ResourceManager.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Microsoft.Azure.Management.ContainerInstance.Fluent.ContainerGroupsImpl+d__20.MoveNext(Microsoft.Azure.Management.ContainerInstance.Fluent,版本=1.0.0.61,文化=中性,PublicKeyToken=31bf3856ad364e35) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Polly.Retry.AsyncRetryEngine+d__01.MoveNext(Polly,版本=7.0.0.0,文化=中性,PublicKeyToken=c8a3ffc3f8f825cc) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Polly.AsyncPolicy+d__211.MoveNext(Polly,版本=7.0.0.0,文化=中性,PublicKeyToken=c8a3ffc3f8f825cc) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Pyra.Automation.BuildAgents.Monitor.Commands.CreateBuildAgentInstanceCommand+d__8.MoveNext (Pyra.Automation.BuildAgents.Monitor,版本=1.0.0.0,文化=中性,PublicKeyToken=nullPyra.Automation.BuildAgents.Monitor,版本=1.0.0.0 , Culture=neutral, PublicKeyToken=null: F:\Agent02\w\961\s\src\Pyra.Automation.BuildAgents.Monitor\Commands\CreateBuildAgentInstanceCommand.csPyra.Automation.BuildAgents.Monitor, Version=1.0.0.0, Culture=中立,PublicKeyToken=null: 128) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Pyra.Automation.BuildAgents.Monitor.Commands.CreateBuildAgentInstanceCommand+d__7.MoveNext (Pyra.Automation.BuildAgents.Monitor,版本=1.0.0.0,文化=中性,PublicKeyToken=nullPyra.Automation.BuildAgents.Monitor,版本=1.0.0.0 , Culture=neutral, PublicKeyToken=null: F:\Agent02\w\961\s\src\Pyra.Automation.BuildAgents.Monitor\Commands\CreateBuildAgentInstanceCommand.csPyra.Automation.BuildAgents.Monitor, Version=1.0.0.0, Culture=中立,PublicKeyToken=null: 78) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter1.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Pyra.Automation.BuildAgents.Monitor.Function.BuildAgentSchedulerFunction+d__1.MoveNext (Pyra.Automation.BuildAgents.Monitor.Function,版本=1.0.0.0,文化=中性,PublicKeyToken=nullPyra.Automation.BuildAgents.Monitor.Function,版本=1.0.0.0,Culture=neutral,PublicKeyToken=null:F:\Agent02\w\961\s\src\Pyra.Automation.BuildAgents.Monitor.Function\BuildAgentSchedulerFunction.csPyra.Automation.BuildAgents.Monitor.Function,版本= 1.0.0.0,文化=中性,PublicKeyToken=null:89) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 Pyra.Automation.BuildAgents.Monitor.Function.BuildAgentSchedulerFunction+d__0.MoveNext (Pyra.Automation.BuildAgents.Monitor.Function,版本=1.0.0.0,文化=中性,PublicKeyToken=nullPyra.Automation.BuildAgents.Monitor.Function,版本=1.0.0.0,Culture=neutral,PublicKeyToken=null:F:\Agent02\w\961\s\src\Pyra.Automation.BuildAgents.Monitor.Function\BuildAgentSchedulerFunction.csPyra.Automation.BuildAgents.Monitor.Function,版本= 1.0.0.0,文化=中性,PublicKeyToken=null:50) 在 Microsoft.Rest.RetryDelegatingHandler+d__15.MoveNext 处处理的内部异常 System.IO.IOException: 在 System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.ThrowException(System.Net.Sockets,版本=4.2.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a) 在 System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.GetResult(System.Net.Sockets,版本=4.2.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a) 在 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable1+ConfiguredValueTaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Net.Security.SslStreamInternal+d1.MoveNext(System.Net.Security,版本=4.1.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable1+ConfiguredValueTaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Net.Security.SslStreamInternal+d__341.MoveNext(System.Net.Security,版本=4.1.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a) 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable1+ConfiguredValueTaskAwaiter.GetResult(System.Private.CoreLib,版本=4.0.0.0,文化=中性,PublicKeyToken=7cec85d7bea7798e) 在 System.Net.Http.HttpConnection+d__61.MoveNext(System.Net.Http,版本=4.2.1.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a) System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs.ThrowException 处理的内部异常 System.Net.Sockets.SocketException:

我尝试更新 nuget 包以使用可用的最新版本,但出现同样的错误,我在这里缺少什么?

【问题讨论】:

【参考方案1】:

我无法再重现该问题,但无论如何我都会发布答案,希望它可以帮助遇到类似问题的人。

我认为这个问题是由一些混乱的容器实例引起的

几个月前,我遇到了类似的问题 - 我无法在 Azure 门户中看到某些容器组的状态,而只有一个 -(破折号)。删除这些容器后,一切都按预期工作。

结论:

如果列出的容器实例停止工作,请转到 Azure 门户并检查状态为 FailedTerminated- 等的容器。删除这些组并再次尝试列出容器

【讨论】:

【参考方案2】:

在我看来,代码抛出了一个内部错误,而您没有收到它:

Async void 方法具有不同的错误处理语义。当异步任务或异步任务方法抛出异常时,会捕获该异常并将其放置在任务对象上。对于 async void 方法,没有 Task 对象,因此从 async void 方法抛出的任何异常都将直接在 async void 方法启动时处于活动状态的 SynchronizationContext 上引发。

看看你的方法是否返回一个任务:

public static async Task UseMethodWithAsyncVoid()

    try
    
        await MethodWithException();
    
    catch (Exception e)
    
        Console.WriteLine("Ex Message" + e.Message);
    

【讨论】:

以上是关于使用 Azure 管理 API 列出容器组失败并出现 System.Net.Sockets.SocketException的主要内容,如果未能解决你的问题,请参考以下文章

Azure 资源管理器 API 用户的订阅范围授权

Azure API 管理订阅数据解析 json 失败

Azure 使用 REST api 和托管标识创建 blob 容器 - 403 错误

通过带有 SAS 令牌的 Power Shell 列出 Azure Blob 容器中文件夹中的文件

通过REST在Azure容器注册表中处理图像

列出存储容器内容时获取 Azure 存储以返回 blob URL