每个请求都有Azure 400 Bad Request

时间:2013-11-29 11:32:14

标签: c# asp.net azure

由于某些原因,我的DevStorage帐户已停止工作。我对DevStorage(Blob和Table)的每个请求都收到400 Bad Request错误。不过,我可以使用Azure Storage Explorer浏览DevStorage。

这真的很奇怪,因为我不知道改变环境。

我重新安装了Azure SDK 2。2(2013年7月)。即使在干净安装后,它也无法正常工作。当我将云服务部署到Windows Azure时,它可以正常工作。在模拟器中运行它不会。

我实际上使用与连接样本相同的代码,但无论如何我都会发布它。

// Storage account
var storageAccount = CloudStorageAccount.Parse(
        CloudConfigurationManager.GetSetting("StorageConnectionString"));

// Blob client
var blobClient = storageAccount.CreateCloudBlobClient();

// Container
var cloudContainer = blobClient.GetContainerReference(container);
cloudContainer.CreateIfNotExists();
  • StorageConnectionString的值为UseDevelopmentStorage=true
  • 容器为小写,仅限字母(例如'图片')。
  • 我以管理员身份运行Visual Studio 2012。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:18)

您是否有机会安装昨天发布的最新版Storage Client库(3.0.0.0)?这可能是您的代码停止工作的一个原因,因为最新版本的库无法与存储模拟器一起使用(向下滚动到此帖子的底部:http://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/27/windows-azure-storage-release-introducing-cors-json-minute-metrics-and-more.aspx)。如果您查看详细的错误消息,您会看到One of the request headers is invalid

更新日期:2014年2月3日

请下载支持最新存储客户端库的 Storage Emulator 2.2.1 Preview 。有关此版本的更多信息,请访问:http://blogs.msdn.com/b/windowsazurestorage/archive/2014/01/27/windows-azure-storage-emulator-2-2-1-preview-release-with-support-for-2013-08-15-version.aspx

更新日期:2014年4月15日

如果您使用的是SDK版本2.3,则无需安装Storage Emulator 2.2.1。 2.3版中的存储模拟器完全支持存储客户端库3.x。

答案 1 :(得分:1)

我遇到了Azure Storage Emulator 3.0.0的问题,它来自VS 2013更新2上的Azure SDK 2.3。

为了解决这个问题,我启动了Web平台安装程序并搜索了存储模拟器,然后运行了Azure SDK 2.3(VS2013),并安装了存储模拟器3.2.0.0来解决问题。

enter image description here