OperationContext 使用 (Microsoft.WindowsAzure.Storage)
Posted
技术标签:
【中文标题】OperationContext 使用 (Microsoft.WindowsAzure.Storage)【英文标题】:OperationContext usage (Microsoft.WindowsAzure.Storage) 【发布时间】:2021-08-13 10:25:34 【问题描述】:我要从 Azure Blob 存储下载 blob 以进行流式传输,我需要指定重试策略和超时。这就是我使用 BlobRequestOptions(WindowsAzure.Storage NuGet 包)实例来指定所有这些设置的原因。我还想使用异步方法DownloadToStreamAsync,它需要传递一些额外的参数(AccessCondition、OperationContext)。我的代码:
var selfieBlob = new CloudBlockBlob(GetBlobUri(requestedUrl), _credentials);
await selfieBlob.DownloadToStreamAsync(
targetStream,
AccessCondition.GenerateEmptyCondition(),
_blobOptions,
new OperationContext());
问题:
是否应该每次都创建一个新的 OperationContext 实例? 为什么它是此方法的必需参数?看来我不明白为什么这么有必要。【问题讨论】:
【参考方案1】:您可以使用default(OperationContext)
调用方法DownloadToStreamAsync
。这与DownloadToStreamAsync
的其他重载相同。检查here
await selfieBlob.DownloadToStreamAsync(
targetStream,
default(AccessCondition),
_blobOptions,
default(OperationContext));
它通常用于记录相关性。检查ExcecuteAsync
方法实现here。
【讨论】:
【参考方案2】:关于OperationContext
参数,@user1672994的回答是对的。
参考CloudBlob.DownloadToStreamAsync
Method's description,你就知道为什么需要AccessCondition
这个参数了。如果没有条件限制,可以设置为null
。
【讨论】:
以上是关于OperationContext 使用 (Microsoft.WindowsAzure.Storage)的主要内容,如果未能解决你的问题,请参考以下文章
从 C# 中的 OperationContext 读取 JSON 格式的请求内容
Microsoft launches Open Application Model (OAM) and Dapr to ease developments in Kubernetes and micr
npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段