//public static X509Certificate2 TestCert; public async Task Start() { DbOp = new LiteDbOperator(USER_DB_PATH);//加载数据库 //从配置文件加载服务端配置 InitSecureKey(); TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; CancellationTokenSource ctsConfig = new CancellationTokenSource(); CancellationTokenSource ctsHttp = new CancellationTokenSource(); CancellationTokenSource ctsConsumer = new CancellationTokenSource(); //1.反向连接池配置 ConnectionManager = ClientConnectionManager.GetInstance().SetServerContext(ServerContext); //注册客户端发生连接时的事件 ConnectionManager.AppTcpClientMapConfigConnected += ConnectionManager_AppAdded; _ = ConnectionManager.ListenServiceClient(DbOp); Logger.Debug("NSmart server started"); //2.开启http服务 if (ServerContext.ServerConfig.WebAPIPort > 0) { var httpServer = new HttpServer(Logger, DbOp, ServerContext); _ = httpServer.StartHttpService(ctsHttp, ServerContext.ServerConfig.WebAPIPort); } //3.开启心跳检测线程 _ = ProcessHeartbeatsCheck(Global.HeartbeatCheckInterval, ctsConsumer); //3.5 加载SSL证书 Logger.Debug("SSL CA Generating..."); ServerContext.InitCertificates(); Logger.Debug("SSL CA Generated."); //4.开启配置服务(常开) try { await StartConfigService(ctsConfig); } catch (Exception ex) { Logger.Debug(ex.Message); } finally { Logger.Debug("all closed"); ctsConfig.Cancel(); ctsHttp.Cancel(); ctsConsumer.Cancel(); DbOp.Close(); } }
public async Task Start() { DbOp = new NSmartDbOperator(USER_DB_NAME, USER_DB_NAME + "_index"); InitSecureKey(); TaskScheduler.UnobservedTaskException += TaskScheduler_UnobservedTaskException; CancellationTokenSource ctsConfig = new CancellationTokenSource(); CancellationTokenSource ctsHttp = new CancellationTokenSource(); CancellationTokenSource ctsConsumer = new CancellationTokenSource(); //1.反向连接池配置 ConnectionManager = ClientConnectionManager.GetInstance().SetServerContext(ServerContext); //注册客户端发生连接时的事件 ConnectionManager.AppTcpClientMapConfigConnected += ConnectionManager_AppAdded; ConnectionManager.ListenServiceClient(DbOp); Logger.Debug("NSmart server started"); //2.开启http服务 if (WebManagementPort > 0) { var httpServer = new HttpServer(Logger, DbOp, ServerContext); httpServer.StartHttpService(ctsHttp, WebManagementPort); } //3.开启心跳检测线程 ProcessHeartbeatsCheck(Global.HeartbeatCheckInterval, ctsConsumer); //4.开启配置服务(常开) try { await StartConfigService(ctsConfig); } catch (Exception ex) { Logger.Debug(ex.Message); } finally { Logger.Debug("all closed"); ctsConfig.Cancel(); ctsHttp.Cancel(); ctsConsumer.Cancel(); DbOp.Close(); } }