我正在尝试从Web应用程序连接到azure帐户存储,我收到以下错误:“Microsoft.WindowsAzure.Storage.dll中出现类型-'Microsoft.WindowsAzure.Storage.StorageException异常”但不是用户代码处理
其他信息:无法解析远程名称:'xxx.table.core.windows.net'“
我在配置中只给了xxx作为帐号。
我可以从控制台应用程序访问相同的代码。
我正在使用以下代码从azure存储帐户中获取记录。
string connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connStr);
CloudTableClient client = storageAccount.CreateCloudTableClient();
CloudTable table = client.GetTableReference("ErrorLogs");
TableQuery<ErrorLogs> query = new TableQuery<ErrorLogs>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "ERROR"));
我给web.config只提供了像xxxx这样的服务器名称,但是当tit尝试连接它时说的是xxx.table.core.windows.net。
以下是完整的例外情况:
[WebException:无法解析远程名称:'xxx.table.core.windows.net'] System.Net.HttpWebRequest.GetResponse()+1732 System.Net.HttpWebRequest.GetResponse()+ 600 Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync(RESTCommand`1 cmd,IRetryPolicy policy,OperationContext operationContext)+2463
[StorageException:无法解析远程名称:'xxx.table.core.windows.net']
Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync(RESTCommand 1 cmd, IRetryPolicy policy, OperationContext operationContext) +7418
Microsoft.WindowsAzure.Storage.Table.TableQuery
1.ExecuteQuerySegmentedInternal(TableContinuationToken令牌,CloudTableClient客户端,CloudTable表,TableRequestOptions requestOptions,OperationContext operationContext)+436
Microsoft.WindowsAzure.Storage.Table。&lt;&gt; c__DisplayClass7.b__6(IContinuationToken continuationToken)+141
Microsoft.WindowsAzure.Storage.Core.Util.d__0 1.MoveNext() +123
System.Linq.<TakeIterator>d__3a
1.MoveNext()+400
System.Collections.Generic.List 1..ctor(IEnumerable
1个集合)+402
System.Linq.Enumerable.ToList(IEnumerable`1 source)+54
答案 0 :(得分:9)
我遇到了同样的错误消息,直到我遇到Azure存储队列问题的答案:
https://stackoverflow.com/a/37604755/3507333
原来区域冗余存储(ZRS)帐户不支持表格。
我创建了一个新的本地冗余存储(LRS)帐户,一切都运行良好!
答案 1 :(得分:0)
嗯,不完全确定这里发生了什么。我刚刚在Visual Studio上创建了一个测试MVC应用程序,没有任何问题。以下是我如何设置所有内容......
的Web.config:
<appSettings>
<add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxxx" />
</appSettings>
连接字符串代码:
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));