所以,我知道在Azure生命周期中报告bug有点疯狂,但我没有选择。我们走了。
我们有一项服务,您可以上传文件和下载的客户端。那个BLOB充满了大约27 GB的数据。
在一些情况下,我们的用户报告说有些文件出错了,所以我们检查了我们的MVC路线,看看是否有什么问题,什么都没发现。
因此我们创建了一个循环下载的简单控制台:
public static void Main()
{
var firstHash = string.Empty;
var client = new System.Net.WebClient();
for (int i = 0; i < 5000; i++)
{
try
{
var date = DateTime.Now.ToString("HH-mm-ss-ffff");
var destination = @"C:\Users\Israel\Downloads\RO65\BLOB - RO65 -" + date + ".rfa";
client.DownloadFile("http://myboxfree.blob.core.windows.net/public/91fe9d90-71ce-4036-b711-a5300159abfa.rfa", destination);
string hash = string.Empty;
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(destination))
{
hash = Convert.ToBase64String(md5.ComputeHash(stream));
}
}
if (string.IsNullOrEmpty(firstHash))
firstHash = hash;
if (hash != firstHash) hash += " ---------------------------------------------";
Console.WriteLine("i: " + i.ToString() + " = " + hash);
}
catch { }
}
}
所以这是结果 - 不时地下载错误的文件:
前1000次下载都没问题,是正确的文件。出乎意料的是,BLOB返回一个不同的文件,然后恢复正常。
我在文件中找到的唯一关系是扩展名和文件大小(以字节为单位)。哈希(当然)不同。
有什么想法?
答案 0 :(得分:3)
我试图重新运行您的示例代码,但无法重现。
问题:
建议: