簡體   English   中英

阻止連接到 Azure 存儲帳戶

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM