예제 #1
0
파일: MainForm.cs 프로젝트: JoeChen999/scut
 private void OnLoadConfig()
 {
     try
     {
         string currPath = MathUtils.RuntimePath;
         var    configs  = Directory.GetFiles(currPath, "*.config");
         if (configs.Length == 0)
         {
             var dir = new DirectoryInfo(currPath);
             if (dir.Name.EndsWith("bin", StringComparison.InvariantCultureIgnoreCase))
             {
                 if (dir.Parent != null)
                 {
                     currPath = dir.Parent.FullName;
                     configs  = Directory.GetFiles(currPath, "*.config");
                 }
             }
             if (configs.Length == 0)
             {
                 return;
             }
         }
         string first = configs.Where(p => p.EndsWith(".exe.config") || p.StartsWith("Web.config", StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
         _configFileName = string.IsNullOrEmpty(first) ? configs[0] : first;
         if (configs.Length > 1 && _configFileName.EndsWith("nlog.config", StringComparison.CurrentCultureIgnoreCase))
         {
             _configFileName = configs[1];
         }
         var setting = _serverManager.LoadFile(_configFileName);
         if (setting != null)
         {
             if (!_serverManager.RedisConfig.ConnectionString.HasConfig())
             {
                 ConnectionString conn = setting.Connections.Where(p => p.IsDataLevel()).FirstOrDefault();
                 if (conn != null)
                 {
                     _serverManager.RedisConfig.ConnectionString = conn.CopyObject();
                 }
             }
             BindConfigGrid(setting);
         }
     }
     catch
     {
     }
 }