Azure的表存储,如何避免连接错误(我试过重试)(Azure Table Storage, How

2019-10-30 06:02发布

我得到了很多错误,像No connection could be made because the target machine actively refused it 70.37.127.112:443

所以,我想补充Microsoft.Practices.TransientFaultHandling重试。

但尽管如此,许多错误的(即使重试后)

我想知道:

第一,由于Azure是一个分布式服务,为何我总是达到70.37.127.112(I通过访问存储简单原始DefaultEndpointsProtocol=https;AccountName=storage_account;.....,然后使用tableContext.CreateQuery<datatype>("table_name"); )。 我发现我的所有表(即使是在不同的存储账户)全部命中70.37.127.112。 我的问题,是有没有办法改变它?

2,如何消除上述完全错误?

错误详情

System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 70.37.127.112:443
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.GetResponse()
   at System.Data.Services.Client.QueryResult.Execute()
   at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
   at System.Data.Services.Client.DataServiceQuery`1.Execute()
   at System.Data.Services.Client.DataServiceQuery`1.GetEnumerator()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Microsoft.Practices.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.<ExecuteAction>b__0()
   at Microsoft.Practices.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func)

Answer 1:

关于第一个问题,在Azure结构控制器负责分配资源。 当您请求服务实例(例如Azure存储),它会找到一个可用的服务器,将负责处理该请求。 该服务器可以负责不同的业务实例,不论是您或其他人的,因为Azure是一个共享的环境。

您可以使用亲和团体, 由努诺·迪尼奥解释 ,会对更好的控制程度如何构造控制器将提供你的服务(例如,在同一个集群或不同集群)。

请参阅深入了解Windows Azure存储:什么是新的引擎盖下深潜有关架构的解释。

关于第二个问题,消除错误,我注意到,被拒绝的端口是443.该端口正在阻止我自己的网络上的防火墙或代理之前发生在我身上。 请检查是否是这种情况,并将它打开。

如果你确信你的流量可以达到远程服务器,接下来的行动最好的办法是打开与Windows Azure的支持团队支持票。 根据我的经验,他们是快速,高效。

为此,去支持Windows Azure的选项 ,并选择客户支持| Windows Azure的。



文章来源: Azure Table Storage, How to avoid connection error (I tried retry)