[英]Blocking connection to Azure storage account
我有一個用 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;
}
}
在您創建CloudStorageAccount
變量時,仍然沒有與存儲帳戶建立連接,您可以通過添加隨機憑據輕松測試。 在后台,該庫所做的只是向 Storage API 發出 REST 調用,因此在您實際檢索或發送數據之前不會建立任何連接。
該庫也已經實現了自己的機制來在失敗的情況下重試請求,默認為 3 次重試,但您可以像這樣手動更改:
var options = new BlobRequestOptions()
{
RetryPolicy = new ExponentialRetry(deltaBackoff, maxAttempts),
};
cloudBlobClient.DefaultRequestOptions = options;
將它包裝在一個while
循環中並繼續重試直到成功或達到 3 次嘗試的最大值呢?
string strError;
const int maxConnectionAttempts = 3;
var connectionAttempts = 0;
var connected = false;
while (!connected && connectionAttempts < maxConnectionAttempts)
{
connected = Connect(out strError);
connectionAttempts++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.