/// <summary> /// Set Config And Close /// </summary> public void Confirm() { if (!AIGS.Helper.PathHelper.Mkdirs(OutputDir)) { Errlabel = "Creat Output Path Err!"; return; } Config.ThreadNum(ThreadNum.ToString()); Config.Quality(QualityList[SelectQualityIndex].ToLower()); Config.OutputDir(OutputDir); ThreadTool.SetThreadNum(ThreadNum); RequestClose(); }
public void Confim() { Config.ThreadNum(ThreadNum.ToString()); Config.SearchNum(SearchNum.ToString()); Config.OnlyM4a(OnlyM4a.ToString()); Config.AddExplicitTag(AddExplicitTag.ToString()); Config.SaveCovers(SaveCovers.ToString()); Config.IncludeEP(IncludeEPSingle.ToString()); Config.CheckExist(CheckExist.ToString()); Config.ArtistBeforeTitle(ArtistBeforeTitle.ToString()); Config.AddHyphen(AddHyphen.ToString()); Config.AddYear(AddYearIndex); Config.OutputDir(OutputDir); Config.UseTrackNumber(UseTrackNumber.ToString()); Config.MaxFileName(MaxFileName.ToString()); Config.MaxDirName(MaxDirName.ToString()); Config.AddAlbumIDBeforeFolder(AddAlbumIDBeforeFolder.ToString()); Config.ThemeIndex(ThemeIndex.ToString()); TidalTool.SetSearchMaxNum(int.Parse(Config.SearchNum())); ThreadTool.SetThreadNum(ThreadNum); ChangeTheme(ThemeIndex); if (AccessToken.IsNotBlank()) { if (TidalTool.loginByAccesstoken(AccessToken)) { Config.Accesstoken(AccessToken); } else { Growl.Warning("Accesstoken is not valid!", "SettingsMsg"); return; } } Growl.Success("Refresh settings success!", "SettingsMsg"); }
static void Main(string[] args) { binpath = System.AppDomain.CurrentDomain.BaseDirectory; int ThreadNum; int port; //初始值 ThreadNum = -1; port = -1; try { //改变端口和线程数 for (int i = 0; i < args.Length; i++) { if (args[i] == "/p") { port = int.Parse(args[i + 1]); } if (args[i] == "/t") { ThreadNum = int.Parse(args[i + 1]); } } if (ThreadNum == -1 || port == -1) { Console.Beep(); Console.Write("用法错误 \r\n程序接口p 端口 t线程数\r\n例 BackgroundServise.exe /p 80 /t 10" + "\r\n将在本地开启10个线程监听80端口\r\n超过此线程用户将无法连接\r\n"); return; } } catch { //错误捕获 Console.Beep(); Console.Write("用法错误 \r\n程序接口p 端口 t线程数\r\n例 BackgroundServise.exe /p 80 /t 10" + "\r\n将在本地开启10个线程监听80端口\r\n超过此线程用户将无法连接\r\n"); return; } Console.Clear(); Console.Write("水电管理系统后台服务器\r\n版权所有:白忠魏\r\n"); Console.Write("线程数" + ThreadNum.ToString()); Console.Write("\r\n"); Console.Write("端口" + port.ToString() + "\r\n"); //改变端口 listener = new TcpListener(IPAddress.Any, port); try { listener.Start(); Console.Write("开始监听"); //MessageBox.Show (listener.LocalEndpoint.ToString()); //创建线程 for (int i = 1; i <= ThreadNum; i++) { Thread thrd = new Thread(new ThreadStart(ls)); thrd.IsBackground = false; thrd.Start(); } } catch { Console.Beep(); Console.Write("socket错误,启动失败"); return; } }
/// <summary> /// 初始化配置 /// </summary> public static void Init(Action action) { //初始配置信息 var Configuration = new ConfigurationBuilder() .AddJsonFile($"{Path}\\appsetting.json") .Build(); ThreadNum = int.Parse(Configuration.GetSection("ThreadNum").Value); Proxy = Configuration.GetSection("Proxy").Value; RegisterCode = Configuration.GetSection("RegisterCode").Value; Configuration.GetSection("ThreadNum").Value = ThreadNum.ToString(); //获取价格计算函数 { string path = Path + "\\Config\\Price.js"; if (File.Exists(path)) { StreamReader sr = File.OpenText(path); StringBuilder jsonArrayText_tmp = new StringBuilder(); string txt = sr.ReadToEnd().ToString(); sr.Close(); try { PriceFunction = txt; } catch { } } } //获取商品详情 { string path = Path + "\\Config\\ProductDesc.txt"; if (File.Exists(path)) { StreamReader sr = File.OpenText(path); StringBuilder jsonArrayText_tmp = new StringBuilder(); string txt = sr.ReadToEnd().ToString(); sr.Close(); try { ProductDesc = txt; } catch { } } } //获取关键词 { string path = Path + "\\Config\\key.txt"; if (File.Exists(path)) { StreamReader sr = File.OpenText(path); StringBuilder jsonArrayText_tmp = new StringBuilder(); string line = ""; while ((line = sr.ReadLine()) != null) { if (line.Trim() != "") { Key.Insert(0, line); } } } } //获取分类 { string path = Path + "\\Config\\ProductTypes.txt"; if (File.Exists(path)) { StreamReader sr = File.OpenText(path); StringBuilder jsonArrayText_tmp = new StringBuilder(); string line = ""; while ((line = sr.ReadLine()) != null) { if (line.Trim() != "") { ProductTypes.Insert(0, line); } } } } action?.Invoke(); }