前一段时间在忙于平台的构建工作,在工作中也遇到了很多的问题一直没时间进行整理。   最近我将会把构建云计算平台中遇到的问题和解决方法 列在我的博客上,如果有什么不对的地方,或都大家有什么更好的解决方法,欢迎留言讨论。

   azure storage emulator 是azure在本地的模拟存储器,在模拟器上用blob.UploadFromStream上传大文件(大于阀值,也就是64M),会出报错 “the specified blob already exists”。  然后你通过 Azure storage explore去看该文件,大小为0。   通过反复查资料和自己的实验,发现这应该 是一个azure storage emulator的BUG。  真实的 azure storage 不会出现这个问题。      但是这个问题也有办法解决。就是采用try catch语句。

try
{
streamResult.Position
= 0;
Blob.UploadFromStream(streamResult);
}
catch
{
streamResult.Position
= 0;
Blob.UploadFromStream(streamResult);
}

两次使用blob.UploadFromStream 就可以上传成功。

    putblockslist ,putblock 和 UploadFromStream之间的关系。    

posted on 2011-03-05 19:08  flyhero  阅读(381)  评论(2编辑  收藏  举报