Exemple #1
0
 static DashConfigurationSource()
 {
     _dataAccounts       = new Lazy <IList <CloudStorageAccount> >(() => GetDataStorageAccountsFromConfig().ToList(), LazyThreadSafetyMode.PublicationOnly);
     _dataAccountsByName = new Lazy <IDictionary <string, CloudStorageAccount> >(() => DashConfiguration.DataAccounts
                                                                                 .Where(account => account != null)
                                                                                 .ToDictionary(account => account.Credentials.AccountName, StringComparer.OrdinalIgnoreCase), LazyThreadSafetyMode.PublicationOnly);
     _namespaceAccount = new Lazy <CloudStorageAccount>(() =>
     {
         CloudStorageAccount account;
         string connectString = AzureUtils.GetConfigSetting("StorageConnectionStringMaster", "");
         if (!CloudStorageAccount.TryParse(connectString, out account))
         {
             DashTrace.TraceError("Error reading namespace account connection string from configuration. Details: {0}", connectString);
             return(null);
         }
         ServicePointManager.FindServicePoint(account.BlobEndpoint).ConnectionLimit = int.MaxValue;
         return(account);
     }, LazyThreadSafetyMode.PublicationOnly);
 }
Exemple #2
0
 static IEnumerable <CloudStorageAccount> GetDataStorageAccountsFromConfig()
 {
     for (int accountIndex = 0; true; accountIndex++)
     {
         var connectString = AzureUtils.GetConfigSetting("ScaleoutStorage" + accountIndex.ToString(), "");
         if (String.IsNullOrWhiteSpace(connectString))
         {
             yield break;
         }
         CloudStorageAccount account;
         if (CloudStorageAccount.TryParse(connectString, out account))
         {
             ServicePointManager.FindServicePoint(account.BlobEndpoint).ConnectionLimit = int.MaxValue;
             yield return(account);
         }
         else
         {
             DashTrace.TraceWarning("Error reading data account connection string from configuration. Configuration details: {0}:{1}", accountIndex, connectString);
         }
     }
 }
Exemple #3
0
 public T GetSetting <T>(string settingName, T defaultValue)
 {
     return(AzureUtils.GetConfigSetting(settingName, defaultValue));
 }