예제 #1
0
        /// <summary>
        /// 获取DBConfig的配置实体,并根据从库的数量重新对从库模型进行赋值
        /// </summary>
        public static void GetConfig()
        {
            JsonReaderHelper reader = new JsonReaderHelper();

            config = reader.GetConfig <DBConfig>("DBConfig");
            List <Slaveconnetion> slaveconnetions = new List <Slaveconnetion>();

            config.SlaveConnetions = config.SlaveConnetions.Take(config.SlaveCount).ToList();
            int MaxHitLimit = config.SlaveConnetions.Sum(t => t.HitRate);

            foreach (Slaveconnetion JsonConfig in config.SlaveConnetions)
            {
                int NextIndex = config.SlaveConnetions.IndexOf(JsonConfig) - 1;
                if (NextIndex < 0)
                {
                    JsonConfig.HitLimit = JsonConfig.HitRate;
                }
                else
                {
                    JsonConfig.HitLimit = config.SlaveConnetions[NextIndex].HitLimit + JsonConfig.HitRate;
                }
                //if(config.SlaveConnetions.IndexOf(JsonConfig)== config.SlaveConnetions.Count - 1)
                //{
                //    MaxHitLimit += JsonConfig.HitRate;
                //}
                slaveconnetions.Add(JsonConfig);
            }
            config.MaxHitLimit     = MaxHitLimit;
            config.SlaveConnetions = slaveconnetions;
        }