c# - StorageException : Blob data corrupted. 收到的字节数不正确 - 这是我的代码中的错误还是 azure 服务器问题?

标签 c# .net networking azure azure-blob-storage

我在 Azure 中下载 block blob 时偶尔会遇到异常。 异常消息如下:

StorageException: Blob data corrupted. Incorrect number of bytes received

我的问题是:

  1. 这是 Azure 服务器端的问题还是由于 我的客户端代码中存在错误?
  2. 有人以前看过这个并且有任何想法吗 修复应该是什么?

关于这个问题的更多信息 - 似乎如果我稍后尝试读取相同的 BlockBlob,它会使用相同的确切代码下载它。

谢谢, 瑞

最佳答案

此异常表示传输过程中存在数据完整性问题。检查ErrorCode , ExtendedErrorInformationStatusCode属性以获取更多详细信息。

Windows Azure Blob MD5 Overview解释如何应用可选的 MD5 检查来确保数据完整性。这仅适用于 HTTP 连接;由于 HTTPS 提供传输层安全性,因此通过 HTTPS 连接时不需要额外的 MD5 检查,因为它是多余的。

处理此问题的最合适方法可能是通过 transient 故障处理。 Enterprise Library 6提供Transient Fault Handling Application Block可用于实现容错。有关更多信息,请参阅Dealing with Windows Azure Storage transient faults .

关于c# - StorageException : Blob data corrupted. 收到的字节数不正确 - 这是我的代码中的错误还是 azure 服务器问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17883950/

相关文章:

c# - 如何在一个 XAML 文件中使用多个 ControlTemplates?

c# - 我应该等到 VS 2010 发布后再购买 Resharper 吗?

c# - 使用 c# 计算 HMACSHA256 以匹配支付提供商示例

c# - AES 解密异常更改

c# - 不可变的集合?

.net - 如何在流程创建时附加调试器?

.net - 将 DLL 和 EXE 合并为单个 EXE 文件的缺点

c - 使用非阻塞套接字时,recv 无响应

haskell - 找不到网络模块

azure - 如何将 Azure 经典 NSG 与经典 VM 分离?