public NamespaceCleanser(ConnectionStringSetting connectionString, ILogger logger) { _connectionString = connectionString; _logger = logger; _namespaceManager = new ThreadSafeLazy <NamespaceManager>(() => NamespaceManager.CreateFromConnectionString(_connectionString)); }
private void Initialize(IConfiguration configuration) { var entityDataConfigNode = configuration.GetSection("Aolyn.Data"); var providersNode = entityDataConfigNode.GetSection("EntityFramework:Providers"); _providers = GetProviders(providersNode); _connectionStrings = ConnectionStringHelper.GetConnectionStrings(entityDataConfigNode); var configs = new List <EntityDbConfig>(); foreach (var item in _connectionStrings) { var providerName = item.Provider; var provider = _providers.FirstOrDefault(it => it.Name == providerName); if (provider == null) { continue; } var dbItem = new ConnectionStringSetting { Name = item.Name, Provider = providerName, ConnectionString = item.ConnectionString, }; configs.Add(new EntityDbConfig(dbItem.Name, dbItem.ConnectionString, provider.Provider)); } _configs = configs.ToArray(); }
public NamespaceCleanser(ConnectionStringSetting connectionString, ILogger logger) { _connectionString = connectionString; _logger = logger; _namespaceManager = new ThreadSafeLazy<NamespaceManager>(() => NamespaceManager.CreateFromConnectionString(_connectionString)); }
public WindowsServiceBusTransportConfiguration WithConnectionString(string connectionString) { ConnectionString = new ConnectionStringSetting { Value = connectionString }; return(this); }
public NamespaceCleanser(ConnectionStringSetting connectionString, GlobalPrefixSetting globalPrefix, ILogger logger) { _connectionString = connectionString; _globalPrefix = globalPrefix; _logger = logger; _namespaceManager = new ThreadSafeLazy <ManagementClient>(() => new ManagementClient(connectionString)); }
public void Successfully() { const string alias = "test"; const string connectionString = "Data Source=(LocalDb)\\mssqllocaldb;Initial Catalog=Zulu.Tests;Integrated Security=true"; var result = new ConnectionStringSetting(alias, connectionString); Equal(alias, result.Alias); Equal(connectionString, result.ConnectionString); }
/// <summary> /// Converts an AppSettingsJsonFile's ConnectionStrings into a set of ConnectionStringSettings /// </summary> /// <param name="input">AppSettingsJsonFile</param> /// <returns>Collection of ConnectionStringSettings</returns> public static IEnumerable <ConnectionStringSetting> GetConnectionStrings(this AppSettingsJsonFile input) { Logger.Trace("Entering"); var output = new List <ConnectionStringSetting>(); foreach (var cs in input.ConnectionStrings) { var name = cs.Key; var connectionString = cs.Value; try { var builder = new SqlConnectionStringBuilder(connectionString); var newItem = new ConnectionStringSetting { ApplicationName = builder.ApplicationName, Database = builder.InitialCatalog, Name = name, Password = builder.Password, Server = builder.DataSource, UserId = builder.UserID }; output.Add(newItem); } catch (ArgumentException) { // RedisConnection follows the format localhost[:999][,password=xxx]. if (name.Equals("RedisConnection", StringComparison.CurrentCultureIgnoreCase)) { var matches = RedisConnectionStringPattern.Match(connectionString); if (matches.Success) { var server = matches.Groups[1].Value; var password = matches.Groups[4].Value; var newItem = new ConnectionStringSetting { Name = name, Password = password, Server = server }; output.Add(newItem); } } else { throw; } } } return(output); }
public BusSettings(IAppSettingsConfig appConfig, IConnectionStringsConfig connConfig) : base(TAG_PREFIX, appConfig.GetAppSettings()) { IDictionary <string, ConnectionStringSetting> connSettings = connConfig.GetConnectionStrings(); if (!connSettings.ContainsKey("SysDatabase")) { throw new ConfigSettingsException("Не найдена строка подключения к системной БД сервиса.", "SysDatabase"); } _connSetting = connSettings["SysDatabase"]; }
private ConnectionStringSetting GetSetting(IEnumerable <ConfigurationSetting> wmiSettings, String name) { foreach (ConfigurationSetting setting in wmiSettings) { ConnectionStringSetting connectionStringSetting = setting as ConnectionStringSetting; if (connectionStringSetting != null && connectionStringSetting.Name.Equals(name)) { return(connectionStringSetting); } } return(null); }
public void SavesChangesToConfigurationObject() { ConnectionStringSettings sourceElement = new ConnectionStringSettings("name", "connection string", "provider name"); List<ConfigurationSetting> settings = new List<ConfigurationSetting>(1); ConnectionStringsWmiMapper.GenerateConnectionStringWmiObjects(sourceElement, settings); Assert.AreEqual(1, settings.Count); ConnectionStringSetting setting = settings[0] as ConnectionStringSetting; Assert.IsNotNull(setting); setting.ConnectionString = "updated connection string"; setting.ProviderName = "updated provider name"; setting.Commit(); Assert.AreEqual("updated connection string", sourceElement.ConnectionString); Assert.AreEqual("updated provider name", sourceElement.ProviderName); }
private static IServiceProvider CreateServices(ConnectionStringSetting settings) { return(new ServiceCollection().AddFluentMigratorCore().ConfigureRunner(rb => rb.AddMySql5() .WithGlobalConnectionString(settings.ConnectionString) .ScanIn(typeof(InitialDB).Assembly) .For .Migrations()) .Configure <RunnerOptions>(opt => { opt.Tags = new[] { "System" }; }) .AddLogging(lb => lb.AddFluentMigratorConsole()) .BuildServiceProvider(false)); }
public void CanBindObject() { ConnectionStringSetting setting = new ConnectionStringSetting(null, "name", "ConnectionString", "ProviderName"); setting.ApplicationName = "app"; setting.SectionName = InstrumentationConfigurationSection.SectionName; setting.Publish(); using (System.Management.ManagementObjectCollection.ManagementObjectEnumerator resultEnumerator = new ManagementObjectSearcher("root\\enterpriselibrary", "SELECT * FROM ConnectionStringSetting") .Get().GetEnumerator()) { Assert.IsTrue(resultEnumerator.MoveNext()); Assert.AreEqual("ConnectionStringSetting", resultEnumerator.Current.SystemProperties["__CLASS"].Value); ManagementObject managementObject = resultEnumerator.Current as ManagementObject; Assert.IsNotNull(managementObject); managementObject.Put(); } }
public void SettingsAreCreatedForSingleConnectionStringWhenWmiIsEnabled() { ConnectionStringSettings connectionString = new ConnectionStringSettings("cs1", "connectionString", "providerName"); section.ConnectionStrings.Add(connectionString); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, false, machineKey, userKey, true, wmiSettings); Assert.AreEqual(1, wmiSettings.Count); ConnectionStringSetting setting = GetSetting(wmiSettings, "cs1"); Assert.IsNotNull(setting); Assert.IsNull(setting.ApplicationName); Assert.IsNull(setting.SectionName); Assert.AreEqual("connectionString", setting.ConnectionString); Assert.AreEqual("providerName", setting.ProviderName); }
public void WmiQueryReturnsSingleResultIfSinglePublishedInstance() { ConnectionStringSetting setting = new ConnectionStringSetting(null, "name", "ConnectionString", "ProviderName"); setting.ApplicationName = "app"; setting.SectionName = InstrumentationConfigurationSection.SectionName; setting.Publish(); using (System.Management.ManagementObjectCollection.ManagementObjectEnumerator resultEnumerator = new ManagementObjectSearcher("root\\enterpriselibrary", "SELECT * FROM ConnectionStringSetting") .Get().GetEnumerator()) { Assert.IsTrue(resultEnumerator.MoveNext()); Assert.AreEqual("name", resultEnumerator.Current.Properties["Name"].Value); Assert.AreEqual("ConnectionString", resultEnumerator.Current.Properties["ConnectionString"].Value); Assert.AreEqual("ProviderName", resultEnumerator.Current.Properties["ProviderName"].Value); Assert.AreEqual("ConnectionStringSetting", resultEnumerator.Current.SystemProperties["__CLASS"].Value); Assert.IsFalse(resultEnumerator.MoveNext()); } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddOptions(); services.Configure <ConnectionStringSetting>(Configuration.GetSection("ConnectionStringSetting")); ConnectionStringSetting siteSettings = new ConnectionStringSetting(); Configuration.Bind("ConnectionStringSetting", siteSettings); TryToConnect(siteSettings); using (IServiceScope scope = CreateServices(siteSettings).CreateScope()) { IMigrationRunner runner = scope.ServiceProvider.GetRequiredService <IMigrationRunner>(); runner.MigrateUp(); } services.CoolCatSetup(Configuration); }
private void TryToConnect(ConnectionStringSetting siteSettings) { while (ErrorCount < 10) { try { using (var connection = new MySqlConnection(siteSettings.ConnectionString)) { connection.Open(); Console.WriteLine("The target database connected."); return; } } catch { Console.WriteLine("The target database hasn't been prepared."); ErrorCount++; } Thread.Sleep(10000); } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddOptions(); services.Configure <ConnectionStringSetting>(Configuration.GetSection("ConnectionStringSetting")); ConnectionStringSetting siteSettings = new ConnectionStringSetting(); Configuration.Bind("ConnectionStringSetting", siteSettings); TryToConnect(siteSettings); using (IServiceScope scope = CreateServices(siteSettings).CreateScope()) { IMigrationRunner runner = scope.ServiceProvider.GetRequiredService <IMigrationRunner>(); runner.MigrateUp(); } services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(o => { o.LoginPath = "/Admin/System/Login"; }); services.CoolCatSetup(Configuration); }
public WindowsServiceBusTransportConfiguration WithConnectionString(string connectionString) { ConnectionString = new ConnectionStringSetting {Value = connectionString}; return this; }
private static List <ConnectionStringSetting> GetConnectionStringSettings(XContainer document) { var output = new List <ConnectionStringSetting>(); var baseNode = document.Descendants() .FirstOrDefault( d => d.Name.LocalName.Equals("connectionStrings", StringComparison.CurrentCultureIgnoreCase)); if (baseNode != null) { foreach (var connectionString in baseNode.Descendants() .Where(x => x.Name.LocalName.Equals("connectionString", StringComparison.CurrentCultureIgnoreCase))) { var newItem = new ConnectionStringSetting { Name = connectionString.Attribute("name")?.Value }; foreach (var parameter in connectionString.Descendants() .Where(x => x.Name.LocalName.Equals("parameter"))) { var name = parameter.Attribute("name")?.Value; var value = parameter.Attribute("value")?.Value; if (name != null) { switch (name.ToLower()) { case "server": newItem.Server = value; break; case "database": newItem.Database = value; break; case "user id": newItem.UserId = value; break; case "password": newItem.Password = value; break; case "application name": newItem.ApplicationName = value; break; default: throw new InvalidOperationException($"Parameter {name} is not supported."); } } } output.Add(newItem); } } return(output); }
public ConnectionManager(ConnectionStringSetting connectionStringSetting) { _connectionStringSetting = connectionStringSetting; }
public MySqlConnectionFactory(IOptions <ConnectionStringSetting> settingAccessor) { _setting = settingAccessor.Value; }