这是具体的代码:
var container = _blobClIEnt.GetContainerReference("report_dunderMifflin_details");container.CreateIfNotExists(BlobContainerPublicAccesstype.Off);//alternatively,because I kNow it doesn't exist yet//I can just call Create and it will hang toocontainer.Create();解决方法 我尝试通过Azure门户手动创建相同的容器(report_dunderMifflin_details),我得到一个例外,说:
Container names can contain only letters,numbers,and hyphens and must be lowercase. The name must start with a letter or a number. The name can’t contain two consecutive hyphens.
一旦我将容器名称从report_dunderMifflin_details更改为report-dundermifflin-details,它就运行得很好.在windows.AzureStorage类中没有抛出任何异常,实在令人失望.
编辑1:
即使名称使用正确的格式,在已经存在的容器上调用Create()似乎也会导致调用.瘸.
编辑2:
我已经开始在Azure SDK之上编写一个外观,因此它不是很复杂,并且实现了用于模拟/测试目的的界面.我将这个辅助方法添加到我的外观中,以检查错误的建议容器名称.
private voID CheckContainer(string containername){ var invalIDnameMessage = "Container names can contain only letters,and hyphens and must be lowercase. The name must start with a letter or a number. The name can't contain two consecutive hyphens."; var anyInvalIDChars = new Regex("[^0-9a-z-]"); if (anyInvalIDChars.IsMatch(containername)) throw new ArgumentException(invalIDnameMessage); var startsWithHyphen = new Regex("$-"); if (startsWithHyphen.IsMatch(containername)) throw new ArgumentException(invalIDnameMessage); var twoHyphens = new Regex("--"); if (twoHyphens.IsMatch(containername)) throw new ArgumentException(invalIDnameMessage);}总结
以上是内存溢出为你收集整理的c# – CloudBlobContainer .Exists()将挂起/超时全部内容,希望文章能够帮你解决c# – CloudBlobContainer .Exists()将挂起/超时所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)