/// <summary> /// 连接配置中心 /// </summary> /// <returns></returns> private async Task ConnectConfigCenterAsync() { try { var serverManage = ApplicationData.GetService <IServerManage>(); ResultModel <List <ServerListDTO> > resultModel = await serverManage.GetServerListAsync(); if (resultModel.ResultType == ResultTypeEnum.Success) { ServerListDTO server = resultModel.Data.FirstOrDefault(m => m.ServerCategory == ServerCategoryEnum.ConfigCenter); if (server == null) { throw new ConfigCenterEnvironmentException("获取配置中心服务失败"); } ConfigCenterEnvironmentConfig.ConfigCenterUrl = server.Url; ConfigCenterEnvironmentConsoleHelper.WriteLine($"已获取配置中心地址:{ConfigCenterEnvironmentConfig.ConfigCenterUrl}"); var configCenterHub = ApplicationData.GetService <IConfigCenterHub>(); var registerModel = new RegisterEnvironmentRequestModel { Name = ConfigCenterEnvironmentConfig.ServerInfo.Name, Url = ApplicationConfig.PublicUrl, Key = ConfigCenterEnvironmentConfig.ServerInfo.Key }; await configCenterHub.RegisterEnvironment(registerModel); } else { throw new ConfigCenterEnvironmentException("获取配置中心服务失败"); } } catch (Exception exception) { throw new ConfigCenterEnvironmentException("获取配置中心服务失败", exception); } }
/// <summary> /// 注册环境 /// </summary> /// <param name="requestModel"></param> /// <returns></returns> public async Task RegisterEnvironment(RegisterEnvironmentRequestModel requestModel) { try { var model = _mapper.Map <RegisterEnvironmentModel>(requestModel); _configCenterService.RegisterEnvironment(Context.ConnectionId, model); await Clients.Caller.RegisterResult(true, "注册成功"); } catch (ConfigCenterException exception) { await Clients.Caller.RegisterResult(false, exception.Message); } }
public async Task RegisterEnvironment(RegisterEnvironmentRequestModel requestModel) { await Connection.InvokeAsync(nameof(RegisterEnvironment), requestModel); }