解析連接字符串 `CloudStorageAccount.Parse(connectionString)` 不會立即建立網絡連接,需主動發起請求驗證賬戶有效性。
CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
CloudBlobClient blobClient = account.CreateCloudBlobClient();
try {
// 嘗試列舉容器,僅發送 HTTP HEAD/GET,不上傳數據
var containers = blobClient.ListContainersSegmentedAsync(null).Result;
// 或表服務
CloudTableClient tableClient = account.CreateCloudTableClient();
var tables = tableClient.ListTablesSegmentedAsync(null).Result;
Console.WriteLine("連接成功,賬戶有效");
} catch (StorageException ex) {
// 處理 401 (密鑰錯誤)、404 (端點錯誤)、網絡異常
Console.WriteLine("驗證失敗: " + ex.Message);
}
var blobClient = account.CreateCloudBlobClient();
var properties = await blobClient.GetServicePropertiesAsync(); // 單次 HTTP 請求
// 成功即賬戶有效且網絡通
連接字符串端點不同,需顯式指定:
DefaultEndpointsProtocol=https;
AccountName=myaccount;
AccountKey=mykey;
EndpointSuffix=core.chinacloudapi.cn; // 關鍵:非 core.windows.net
核心原則:**Parse 只驗證格式,網絡請求才驗證有效性**,輕量級 `ListContainers`/`GetServiceProperties` 是標準驗證手段。