我有一个使用c#开发的应用程序,其第一个功能是一种连接到存储帐户以便能够管理Blob的方法。 我的问题是我想在尝试连接3篇文章后阻止连接。
这是代表与存储帐户的连接的方法
public bool Connect(out String strerror)
{
strerror = "";
try
{
storageAccount = new CloudStorageAccount(new StorageCredentials(AccountName, AccountConnectionString), true);
MSAzureBlobStorageGUILogger.TraceLog(MessageType.Control,CommonMessages.ConnectionSuccessful);
return true;
}
catch (Exception ex01)
{
Console.WriteLine(CommonMessages.ConnectionFailed + ex01.Message);
strerror =CommonMessages.ConnectionFailed +ex01.Message;
return false;
}
}
答案 0 :(得分:1)
在创建CloudStorageAccount
变量时,仍然没有与存储帐户建立任何连接,可以通过添加随机凭证轻松地进行测试。在后台,所有库仅执行对Storage API的REST调用,因此在您实际检索或发送数据之前不会建立任何连接。
该库还已经实现了自己的机制,以在失败的情况下重试请求,默认为3次重试,但是您可以像这样手动更改:
var options = new BlobRequestOptions()
{
RetryPolicy = new ExponentialRetry(deltaBackoff, maxAttempts),
};
cloudBlobClient.DefaultRequestOptions = options;
答案 1 :(得分:0)
将其包装在while
循环中并继续重试直到成功或达到3次尝试次数怎么办?
string strError;
const int maxConnectionAttempts = 3;
var connectionAttempts = 0;
var connected = false;
while (!connected && connectionAttempts < maxConnectionAttempts)
{
connected = Connect(out strError);
connectionAttempts++;
}