我正在Azure功能应用程序(运行时3.1)中使用Azure的Fluent SDK,以列出订阅中的所有现有虚拟机。 但是,我注意到检索操作有时会失败。我今天收到以下异常:
操作被取消。
System.IO.IOException:无法从传输连接读取数据:由于线程退出或应用程序请求,I / O操作已中止。
---> System.Net.Sockets.SocketException(995):由于线程退出或应用程序请求,I / O操作已中止。
---内部异常堆栈跟踪的结尾---
在System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError错误,CancellationToken cancelToken)
在System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16令牌)
在System.Net.Security.SslStream.g__InternalFillBufferAsync | 215_0 [TReadAdapter](TReadAdapter adap,ValueTask 1 task, Int32 min, Int32 initial) at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory
1个缓冲区)处
在System.Net.Http.HttpConnection.FillAsync()
在System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(BooleanfoldedHeadersAllowed)
在System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage请求,CancellationToken cancelToken)
退出...
以下是我正在使用的:
using Microsoft.Azure.Management.Compute.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(clientID, clientSecret, tenantID, AzureEnvironment.AzureGlobalCloud);
var azure = Microsoft.Azure.Management.Fluent.Azure.Authenticate(credentials).WithSubscription(subId);
//Get all VMs,
try
{
var vms = azure.VirtualMachines.List();
//Loop through VMs
foreach (IVirtualMachine vm in vms)
{
//Rest of the code
呼叫 azure.VirtualMachines.List()是间歇性失败的地方。我似乎不知道有什么问题吗?如果有人指出一些可能的原因,我可以检查出来。预先谢谢你。