Спасибо Стивен. Я использовал вашу логику и изменил ее, чтобы соответствовать моим потребностям. Я включил свой код ниже, еще раз спасибо!
UserUI()
public static List<string> UserUI()
{
List<string> accessCredentials = new List<string>();
Console.WriteLine("Account Name: ");
string accountName = Console.ReadLine();
accessCredentials.Add(accountName);
Console.WriteLine("Account Key: ");
string accountKey = Console.ReadLine();
accessCredentials.Add(accountKey);
return accessCredentials;
}
ApplicationStartFromUserOptions()
public static string ApplicatonStartFromUserOptions(List<string> accessCredentials)
{
var connectionString = $"DefaultEndpointsProtocol=https;AccountName={accessCredentials[0]};AccountKey={accessCredentials[1]}";
return connectionString;
}
Я тогда взять connectionString
из ApplicationStartFromUserOptions()
и передать, что в моей GetConfig()
, который обрабатывает большую часть тяжелой работы.
GetConfig()
public static StartConfig GetConfig(string connectionString)
{
var config = new StartConfig();
// Retrieve storage account from connection string.
config.StorageAccount = CloudStorageAccount.Parse(connectionString);
// Create the blob object.
config.BlobClient = config.StorageAccount.CreateCloudBlobClient();
config.ListContainerData = ListContainer(config);
foreach (var item in config.ListContainerData.Item2)
{
config.Container = config.BlobClient.GetContainerReference(item);
ShowSasTokenForContainer(config);
}
//Create the container if it does not exisit.
config.Container.CreateIfNotExists();
return config;
}
Наконец я называю это все в моей Main()
в моей консольного приложения с StartConfig config = GetConfig(ApplicatonStartFromUserOptions(UserUI()));