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 { } }