仅在部署在服务器上而不是在localhost上部署Azure异常时

Guy*_*Guy 4 azure azure-table-storage

我尝试连接到azure表存储并添加一个对象.它在localhost上工作得很好,但是在我使用的服务器上我得到以下异常+它的内部异常:

    Exception of type 'Microsoft.WindowsAzure.StorageClient.StorageClientException' was thrown.
System.Data.Services.Client.DataServiceQueryException: An error occurred while processing this request. 
---> System.Data.Services.Client.DataServiceClientException: 
     <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
     <code>AuthenticationFailed</code>
     <message xml:lang="en-US">Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. RequestId:17..127 Time:2011-12-16T15:47:50.7505473Z</message>
     </error>
     at System.Data.Services.Client.BaseAsyncResult.EndExecute[T](Object source, String method, IAsyncResult asyncResult)
     at System.Data.Services.Client.QueryResult.EndExecute[TElement](Object source, IAsyncResult asyncResult)
     --- End of inner exception stack trace ---
     at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
     at Microsoft.WindowsAzure.StorageClient.CloudTableClient.GetResultOrDefault[T](Task`1 task, T& result)
Run Code Online (Sandbox Code Playgroud)

我的连接字符串:

DefaultEndpointsProtocol=http;AccountName=nameoftable;AccountKey=accountkey...
Run Code Online (Sandbox Code Playgroud)

kni*_*hor 15

这是一个很长的镜头,但检查您的网站托管服务器上的时钟.所有Azure存储REST调用的部分验证标头是当前的UTC.如果这与Azure服务器所说的是UTC时间太远,那么您将收到该错误.

  • 令人惊讶!这是问题和解决方案! (2认同)