// 系统环境检测者 public static bool Check(out string errMsg) { errMsg = ""; if (!XMLHelper.LoadDoc(Config.projectConfigPath, out doc, out errMsg)) { return(false); } if (!CheckAndCreateConnStr(out errMsg)) { return(false); } if (!IPTool.PingIP(Config.ip)) { errMsg = "业务数据库网络不通,请保证网络通畅!"; return(false); } if (!checkConnect()) { errMsg = "测试连接业务数据库失败!"; return(false); } return(true); }
public static bool CheckPandaYaLiWEB(out string errMsg) { errMsg = ""; if (!XMLHelper.LoadDoc(Config.configFilePath, out doc, out errMsg)) { return(false); } if (!CheckAndCreateConnStr(out errMsg)) { return(false); } if (!IPTool.PingIP(ip)) { errMsg = "业务数据库网络不通,请保证网络通畅!"; return(false); } if (!checkConnect()) { errMsg = "测试连接业务数据库失败!"; return(false); } if (!CheckAndCreatePandaYaLiParam(out errMsg)) { return(false); } doc = null; return(true); }
// 系统环境检测者 public static bool Check(out string errMsg) { errMsg = ""; if (!XMLHelper.LoadDoc(Config.projectConfigPath, out doc, out errMsg)) { return(false); } if (!CheckAndCreateConnStr(out errMsg)) { return(false); } if (!CheckAndCreateConfig(out errMsg)) { return(false); } if (!IPTool.PingIP(Config.ip)) { errMsg = "业务数据库网络不通,请保证网络通畅!"; return(false); } if (!checkConnect()) { errMsg = "测试连接业务数据库失败!"; return(false); } Config.pumpParam = new CityWEBDataService.PandaParam(); Config.pumpParam.appKey = "34h3rj3ri3jrt5y778934t5yfg3333h4h"; Config.pumpParam.appSecret = "45tnn5juyojgn3rn3fnn3t5j4to3fn6y64p3"; Config.pumpParam.getTokenUrl = @"https://new.s-water.cn/App/GetAccessToken"; Config.pumpParam.getDataUrl = @"https://new.s-water.cn/App/GetPumpData"; Config.pumpParam.useName = "汝南"; Config.pumpParam.saveInterVal = Config.saveInterVal; if (!Config.pumpParam.Check(out errMsg)) { return(false); } // 请求方法不一样,其它都一样 //Config.yaLiParam = new CityWEBDataService.PandaParam(); //Config.yaLiParam.appKey = Config.pumpParam.appKey; //Config.yaLiParam.appSecret = Config.pumpParam.appSecret; //Config.yaLiParam.getTokenUrl = Config.pumpParam.getTokenUrl; //Config.yaLiParam.getDataUrl = @"https://new.s-water.cn/App/GetYLData"; //Config.yaLiParam.useName = Config.pumpParam.useName; //Config.yaLiParam.saveInterVal = Config.pumpParam.saveInterVal; //if (!Config.yaLiParam.Check(out errMsg)) // return false; return(true); }
public bool Check(out string err) { err = ""; if (!string.IsNullOrWhiteSpace(errMsg)) { err = errMsg; return(false); } if (string.IsNullOrWhiteSpace(commandIP)) { err = "配置文件物联控制主机不是有效的IP地址"; return(false); } if (!IPTool.PingIP(commandIP)) { err = "配置文件物联控制主机网络不通"; return(false); } if (port == 0) { err = "配置文件物联控制主机端口不能为0"; return(false); } if (IPTool.IsValidPort(port)) { err = "配置文件物联控制主机端口为空闲端口,请检查物联网服务是否启动"; return(false); } if (timeoutSeconds == 0) { err = "配置文件物联控制主机缺少服务超时时间数配置"; return(false); } if (string.IsNullOrWhiteSpace(DBUtil.dbConnectString)) { err = "数据库连接字符串未配置"; return(false); } return(true); }
public void Start() { try { // 启动前配置文件检查--包括端口检查 Config.configInfo = EnvConfigInfo.SingleInstanceForCS; if (!Config.configInfo.EnvCheckForBeforeRun(out string errMsg)) { return; } // 日志管理器 if (LogManager.IsRuning) { LogManager.Stop(); } LogManager.Start(Config.configInfo.confLogServiceInfo, out errMsg); if (!string.IsNullOrWhiteSpace(errMsg) || LogManager.IsRuning == false) { Stop(); return; } LogManager.AppendDebug(ServerTypeName.Core, "日志管理器已经启动"); // 环境检查-日志启动后,在检查其它配置环境,让错误信息可以报出来 if (!IPTool.PingIP(Config.configInfo.confDataBaseInfo.IP)) { TraceManagerForDispatch.AppendWarning("ping:" + Config.configInfo.confDataBaseInfo.IP + "返回超时"); // 有可能开了防火墙 } if (!EnvChecker.Check(Config.configInfo, out errMsg)) { TraceManagerForDispatch.AppendErrMsg("环境检查未通过:" + errMsg); // 不用听,让客户端主动停,看到消息 return; } else { TraceManagerForDispatch.AppendInfo(string.Format("环境检查通过:已加载【{0}】配置", Config.configInfo.confProjectInfo.ProjectName)); } //// 数据发布器 //if (dataPublish != null) // dataPublish.Stop(); //dataPublish = new DataPublishServer(Config.projectConfigPath); //dataPublish.Start(out errMsg); //if (!string.IsNullOrWhiteSpace(errMsg) || dataPublish.IsRuning == false) //{ // Stop(); // return; //} //LogManager.AppendDebug(ServerTypeName.Dispatch, "数据发布器已经启动"); // 子服务管理器 if (sonServiceManager != null) { sonServiceManager.Stop(); } sonServiceManager = new SonServiceManager(); sonServiceManager.Start(out errMsg); if (!string.IsNullOrWhiteSpace(errMsg) || sonServiceManager.IsRuning == false) { Stop(); return; } LogManager.AppendDebug(ServerTypeName.Core, "子服务管理器器已经启动"); // 命令管理器 if (CommandManager.IsRuning) { CommandManager.Stop(); } CommandManager.Start(this.sonServiceManager.ReceiveCommand, Config.configInfo.confCommandServiceInfo, out errMsg); if (!string.IsNullOrWhiteSpace(errMsg) || CommandManager.IsRuning == false) { Stop(); return; } LogManager.AppendDebug(ServerTypeName.Core, "命令管理器已经启动"); LogManager.AppendInfo(ServerTypeName.Core, "所有服务都已经启动"); IsRuning = true; } catch (Exception e) { if (LogManager.IsRuning) { LogManager.AppendErrMsg(ServerTypeName.Core, "服务启动失败:" + e.Message + "堆栈:" + e.StackTrace); } Stop(); } }