【发布时间】:2016-10-30 13:03:58
【问题描述】:
我正在构建的应用程序会在 azure 上下载并上传一些块块。我目前正在使用 v6.1,一切正常。但由于以下问题,我无法升级到 v7:
我可能完全错了,但我决定不在我的应用程序中使用 CloudBlobClient,因为我不希望它存储连接字符串。 相反,我将上传/下载的容器是通过 Web 服务提供的 SAS URI 启动的,因此我的实际(和缩短的)下载工作流程如下:
//jsonstring contains a SAS URI provided by a web service
var jsonString = await Response.Response.Content.ReadAsStringAsync();
CloudBlobContainer cloudContainer = new CloudBlobContainer(new Uri(jsonString.Replace('"', ' ').Trim()));
ICloudBlob blob = cloudContainer.GetBlockBlobReference(item.blobName);
await blob.FetchAttributesAsync();
blob.ServiceClient.ParallelOperationThreadCount = 10;
asyncresult = m_Blob.BeginDownloadToStream(pstream, blobTransferCompletedCallback, new BlobTransferAsyncState(m_Blob, pstream));
这很好用,但是 blob.ServiceClient.ParallelOperationThreadCount = 10;已弃用,从我所见,取代项目 BlobRequestOptions 只能在我决定(可能出于不好的原因)不使用的 CloudBlobClient 上定义。
我正在考虑我的各种选择,并正在寻找一些关于哪一个应该是最好的建议: 1-奇迹发生了,我可以在没有 CloudBlobClient 的情况下使用 BlobRequestOptions 2- 我留在 Azure Storage API v6.1 3- 我从我的 MVC Web 服务获得一个 CLoudBLobClient 并使用它 4- 在应用程序中有一个连接字符串不是安全漏洞,所以我可以像网络上的每个人一样使用 CloudBlobClient
谢谢!
【问题讨论】:
标签: c# azure security azure-storage