public bool TryGetValueByKey(string key, out FapConfig fapParam) { if (!_initialized) { Init(); } var result = _allParams.FirstOrDefault <FapConfig>(f => f.ParamKey == key); if (result != null) { fapParam = result; return(true); } fapParam = null; return(false); }
/// <summary> /// 重置服务注册状态 /// </summary> private void LoadRegisterInfo() { lock (obj) { if (ServiceRegisterInfo != null) { return; } //以下代码已经在docker发布脚本中执行,详见publish.sh文件 //if(_dbSession.DatabaseDialect== Infrastructure.Enums.DatabaseDialectEnum.MSSQL) //{ // //检查clr enabled // using (var session = _dbSession.CreateSession()) // { // int enabled= session.ExecuteScalar<int>("select value from sys.configurations WHERE name = 'clr enabled'"); // if(enabled==0) // { // //设置clr enabled为1 // string sql = @"exec sp_configure 'show advanced options', '1';reconfigure;exec sp_configure 'clr enabled', '1'; reconfigure;exec sp_configure 'show advanced options', '1';"; // //数据库设置可信,OWNER设置成SA // sql += $"ALTER DATABASE {session.Connection.Database} SET TRUSTWORTHY on;exec sp_changedbowner 'sa'"; // session.Execute(sql); // } // } //} FapConfig config = _dbSession.QueryFirstOrDefault <FapConfig>("select * from FapConfig where ParamKey = 'sys.web.name'"); //项目名称 string projectName = string.Empty; if (config != null) { projectName = config.ParamValue; } if (string.IsNullOrWhiteSpace(projectName)) { ServiceRegisterInfo = new RegisterInfo(); ServiceRegisterInfo.RegisterState = EnumRegisterState.UnRegister; ServiceRegisterInfo.RegisterMessage = "当前项目名称为空,未注册"; return; } string currentDateTime = DateTimeUtils.CurrentDateTimeStr; RegFileData regFileData = TGljZW5zZQTool.GetTGljZW5zZQDataFromReg(); string TGljZW5zZQ = regFileData.TGljZW5zZQ; string trialExpire = regFileData.TrialExpire; if (!string.IsNullOrWhiteSpace(TGljZW5zZQ)) { string errMsg = ""; TGljZW5zZQInfo licenseInfo = TGljZW5zZQInfo.Parse(TGljZW5zZQ, out errMsg); if (licenseInfo == null) { ServiceRegisterInfo = new RegisterInfo(); ServiceRegisterInfo.RegisterState = EnumRegisterState.UnRegister; ServiceRegisterInfo.RegisterMessage = "当前项目[" + projectName + "]未注册"; } else { ServiceRegisterInfo = licenseInfo.CheckLicense(projectName); } } else //没有注册,则为未注册版 { ServiceRegisterInfo = new RegisterInfo(); ServiceRegisterInfo.RegisterState = EnumRegisterState.UnRegister; ServiceRegisterInfo.RegisterMessage = "当前项目[" + projectName + "]未注册"; } } }