Ejemplo n.º 1
0
        public void ReturnInvalidIfNotValidSqlConnectionString()
        {
            //Arrange
            var               connectionString = "foo";
            string            provider         = "System.Data.SqlClient";
            DbProviderFactory factory          = DbProviderFactories.GetFactory(provider);
            string            result           = "";
            var               ex = new Exception();

            //Act
            try
            {
                var dalfactory = new ConnectionStringFactory(connectionString);
                result = dalfactory.Create();
            }
            catch (System.Exception e)
            {
                ex = e;
            }

            //Assert
            Assert.AreNotEqual(new Exception(), ex);
            Assert.AreNotEqual(string.Empty, ex.Message);
            Assert.AreEqual(string.Empty, result);
        }
        public void MustReturnNotNullOrEmptyConectionString()
        {
            var defaultConnectionString  = ConnectionStringFactory.Create();
            var connectionStringForTests = ConnectionStringFactory.Create(useTestConnectionString: true);

            Assert.IsFalse(string.IsNullOrEmpty(defaultConnectionString));
            Assert.IsFalse(string.IsNullOrEmpty(connectionStringForTests));
        }
Ejemplo n.º 3
0
        public void ReturnValidSameStringOnCreate()
        {
            //Arrange
            var connectionString = "Server=server;Database=database;User Id=user;Password=password";
            var factory          = new ConnectionStringFactory(connectionString);

            //Act
            var result = factory.Create();

            //Assert
            Assert.AreEqual(connectionString, result);
        }
Ejemplo n.º 4
0
        public static DbContextOptionsBuilder <FacetContext> GetDbContextOptionBuilder(string hostName, string databaseName)
        {
            var defaultSettings = new Dictionary <string, string>
            {
                { "QueryBuilderSetting:Store:Host", hostName },
                { "QueryBuilderSetting:Store:Database", databaseName }
            };
            var connectionString = ConnectionStringFactory.Create(defaultSettings);
            var optionsBuilder   = new DbContextOptionsBuilder <FacetContext>();

            optionsBuilder.UseNpgsql(connectionString);
            return(optionsBuilder);
        }
Ejemplo n.º 5
0
        public void ConfigureHangFire(IAppBuilder app, IContainer container)
        {
            var factory = new ConnectionStringFactory();

            GlobalConfiguration.Configuration.UseSqlServerStorage(factory.Create());
            GlobalConfiguration.Configuration.UseActivator(new ContainerJobActivator(container));

            app.UseHangfireDashboard();
            app.UseHangfireServer();

            RecurringJob.AddOrUpdate <RedditUnreadMessagesReader>("Bot_UnreadMessageReader", x => x.ReadUnreadComments(), Cron.Minutely);
            RecurringJob.AddOrUpdate <RedditUnreadMessagesReader>("Bot_UnreadPrivateMessages", x => x.ReadUnreadPrivateMessages(), Cron.Minutely);
            RecurringJob.AddOrUpdate <RemindRequestProcessor>("Bot_RemindRequestProcessor", x => x.Process(), Cron.MinuteInterval(5));
            RecurringJob.AddOrUpdate <AutoPopularCoinAdder>("AutoAdder_PopularCoins", x => x.AutoAddPopularCoins(200), Cron.Daily(1));
        }
        /// <summary>
        /// 根据访问模式获取连接字符串
        /// </summary>
        /// <param name="accessMode">访问模式</param>
        /// <param name="key">键,如果不为空,则会按取模分区</param>
        /// <returns>连接字符串</returns>
        private string GetConnectionString(AccessMode accessMode = AccessMode.MASTER, string key = null)
        {
            RedisConnectionInfo connInfo = ConnectionStringFactory.Create(UtilTool.CurrEnvironmentType);

            string[] conns = accessMode == AccessMode.MASTER || connInfo.SlaveConnectionStrings.IsNullOrLength0() ? connInfo.MasterConnectionStrings : connInfo.SlaveConnectionStrings;
            if (conns.IsNullOrLength0())
            {
                return(null);
            }

            if (string.IsNullOrWhiteSpace(key) || conns.Length == 1)
            {
                return(conns[0]);
            }

            return(conns[Hash.GenerateHashCode(key) % conns.Length]);
        }
Ejemplo n.º 7
0
 public SettingsForDependencies()
 {
     ConnectionString = ConnectionStringFactory.Create();
 }
Ejemplo n.º 8
0
        /// <summary>
        /// 初始化WMS连接字符串
        /// </summary>
        public static void InitConnList()
        {
            //获取连接字符串是否成功
            bool getConnectionSuccess = false;
            //获取连接字符串次数
            int getConnectionCounter = 0;

            while (!getConnectionSuccess && getConnectionCounter <= RETRY_COUNT)
            {
                try
                {
                    logger.InfoFormat("第{0}次获取WMS连接字符串开始...", getConnectionCounter + 1);
                    lock (DbListObj)
                    {
                        IList <WMSConnectionString> lstWmsConnStrings = new List <WMSConnectionString>();

                        IList <IConnectionString> connStringDefinitions = ConnectionStringFactory.Create(WMSConnStringCreator.Create())
                                                                          .GetConnectionStrings();

                        foreach (IConnectionString connStringDefinition in connStringDefinitions)
                        {
                            lstWmsConnStrings.Add(connStringDefinition as WMSConnectionString);
                        }

                        if (lstWmsConnStrings.Count == 0)
                        {
                            throw new Exception("没有要使用的WMS字符串.WMS数据库连接表查询异常");
                        }

                        lstWMSConnStrings = lstWmsConnStrings;
                        //日志
                        if (logger.IsInfoEnabled)
                        {
                            var stringBuilder = new StringBuilder();
                            stringBuilder.Append(string.Format("WMSConnectionString初始化完成,共有数据库连接字符串:{0}个", lstWMSConnStrings.Count));
                            foreach (WMSConnectionString databaseModel in lstWMSConnStrings)
                            {
                                stringBuilder.AppendLine(databaseModel.ToString());
                            }
                            logger.Info(stringBuilder.ToString());
                        }
                    }
                    getConnectionSuccess = true;
                }
                catch (Exception ex)
                {
                    logger.Error(ex.Message, ex);
                    Thread.Sleep(500);
                    getConnectionCounter++;
                }
            }
            foreach (WMSConnectionString wmsConnString in lstWMSConnStrings)
            {
                if (!connStringCache.ContainsKey(wmsConnString.Name))
                {
                    connStringCache.Add(wmsConnString.Name, wmsConnString.ConnectionString);
                }
                if (!providerNameCache.ContainsKey(wmsConnString.Name))
                {
                    providerNameCache.Add(wmsConnString.Name, wmsConnString.ProviderName);
                }
                if (!string.IsNullOrEmpty(wmsConnString.WarehouseId))
                {
                    if (wmsConnString.DatabaseType == DatabaseType.Execute && !warehouseIdCache.ContainsKey(wmsConnString.WarehouseId))
                    {
                        warehouseIdCache.Add(wmsConnString.WarehouseId, wmsConnString.Name);
                    }
                    if (wmsConnString.DatabaseType == DatabaseType.Readonly && !warehouseIdCacheReadonly.ContainsKey(wmsConnString.WarehouseId))
                    {
                        warehouseIdCacheReadonly.Add(wmsConnString.WarehouseId, wmsConnString.Name);
                    }
                }
            }
        }
Ejemplo n.º 9
0
 protected static void SetTestSettings()
 {
     ResolverRoot.Settings.ConnectionString = ConnectionStringFactory.Create(useTestConnectionString: true);
 }
Ejemplo n.º 10
0
        public void TestCreatesAnalysisServicesConnectionString()
        {
            var actual = _sut.Create("asazure://");

            Assert.IsInstanceOfType(actual, typeof(AnalysisServicesConnectionString));
        }