/// <summary> /// 得到数据服务器 /// </summary> /// <param name="fileName"></param> /// <param name="hashValue"></param> /// <returns></returns> protected virtual DataServiceGroupInfo GetDataServiceGroup(string fileName, long hashValue) { var dataServiceGroups = DataServiceGroups.Where(it => (string.IsNullOrEmpty(it.Path) || fileName.Contains(it.Path)) && !it.IsClose).ToList(); var index = (int)(hashValue % (dataServiceGroups.Count == 0 ? 1 : dataServiceGroups.Count)); return(dataServiceGroups[index]); }
/// <summary> /// 得到数据服务器 /// </summary> /// <param name="fileName"></param> /// <returns></returns> protected virtual DataServiceGroupInfo GetDataServiceGroup(string fileName) { string name = null; var startIndex = fileName.LastIndexOf("_") + 1; if (startIndex > 0) { var endIndex = fileName.IndexOf(".", startIndex); if (startIndex > 0 && endIndex > -1 && endIndex > startIndex) { name = fileName.Substring(startIndex, endIndex - startIndex); } } var dataServiceGroup = string.IsNullOrEmpty(name)? DataServiceGroups.FirstOrDefault(it => (string.IsNullOrEmpty(it.Path) || fileName.Contains(it.Path))): DataServiceGroups.FirstOrDefault(it => it.Name.Equals(name)); return(dataServiceGroup); }