【问题标题】:Azure 400 Bad Request on every request每个请求的 Azure 400 错误请求
【发布时间】:2013-11-29 11:32:13
【问题描述】:

由于某种原因,我的 DevStorage 帐户已停止工作。在对 DevStorage(Blob 和表)的每个请求中,我都会收到 400 Bad Request 错误。不过,我可以使用 Azure 存储资源管理器浏览 DevStorage。

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

我已重新安装 Azure SDK 2.1(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。

任何帮助将不胜感激!

【问题讨论】:

  • 检查角色属性中的 StorageConnectionString。

标签: c# asp.net azure


【解决方案1】:

您是否安装了昨天发布的最新版本的存储客户端库 (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 版本的 Storage Emulator 完全支持 Storage 客户端库 3.x。

【讨论】:

  • 看来我做到了!恢复到 2.1.0.4 解决了这个问题。谢谢!
  • 这里有同样的修复。看来我只需要查看 azure 周围的 nuget 包,它们就会更新到模拟器和/或云不支持的版本:(
  • 我已经建立了一个全新的项目,使用 SDK 2.2 安装了 2.1.0.4,无论我指向的是模拟器还是真实的存储帐户,我都会收到错误的请求 400 消息!这是怎么回事!
  • @IanDangerRobertson 我可以建议将此作为一个单独的问题发布。可能有许多其他原因导致您收到 400 错误。也请附上代码。
  • 请下载支持最新存储客户端库的 Storage Emulator 2.2.1 Preview。有关此版本的更多信息,请访问:blogs.msdn.com/b/windowsazurestorage/archive/2014/01/27/…
【解决方案2】:

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

为了解决这个问题,我启动了 Web Platform Installer 并搜索了 Storage Emulator,然后运行了 Azure SDK 2.3 (VS2013) 并安装了 Storage Emulator 3.2.0.0,从而解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多