我使用nuget包"Microsoft.Azure.Storage.Queue“Version="11.1.7”创建Azure存储队列客户端,如下所示,
AsyncLazy<CloudQueue> qClient = new AsyncLazy<CloudQueue>( async () =>
{
var myStorageAccount = CloudStorageAccount.Parse("ConnectionString");
var myQueue = myStorageAccount .CreateCloudQueueClient()
.GetQueueReference("QueueName");
await myQueue.CreateIfNotExistsAsync();
return myQueue;
});在通过上面的“qClient”实例向队列发送消息时,希望结合重试机制来克服任何瞬态故障。
如何将重试机制与上述创建延迟队列连接的方式结合起来?
发布于 2020-09-25 02:41:36
您可以引用此正式文件,并且可以使用CloudBlobClient.DefaultRequestOptions属性。
我编写了一个代码示例,也许它可以启发您:
AsyncLazy<CloudQueue> qClient = new AsyncLazy<CloudQueue>(async () =>
{
var myStorageAccount = CloudStorageAccount.Parse("ConnectionString");
var myQueue = myStorageAccount.CreateCloudQueueClient();
myQueue.DefaultRequestOptions = new QueueRequestOptions
{
RetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(3), 4),
// For Read-access geo-redundant storage, use PrimaryThenSecondary.
// Otherwise set this to PrimaryOnly.
LocationMode = LocationMode.PrimaryThenSecondary,
// Maximum execution time based on the business use case.
MaximumExecutionTime = TimeSpan.FromSeconds(20)
};
var queue = myQueue.GetQueueReference("QueueName");
await queue.CreateIfNotExistsAsync();
return queue;
});https://stackoverflow.com/questions/64052553
复制相似问题