public bool RegInstance() { NacosAPIEntity entity = GetNacosAPI("RegInstance"); item = new HttpItem { URL = $"{nacoshost}{entity.Url}?{String.Format(entity.Parms, query.ip, query.port, query.NameSpaceId, query.Name,query.clustername,query.weight)}", Method = entity.Method }; //映射路由 String html = HttpMethod.HttpWork(item).Html; item = new HttpItem { URL = routeaddress, Method = "POST", Postdata = routeinfo.Replace("{ServiceName}", query.Name), ContentType = "application/json; charset=UTF-8" }; var result = HttpMethod.HttpWork(item); if (result.StatusCode != System.Net.HttpStatusCode.OK) { throw new Exception("注册路由出错"); } Task.Run(() => { while (true) { Thread.Sleep(5000); Beat(); } }); return(html.Contains("ok")); }
public bool CreateService() { NacosAPIEntity entity = GetNacosAPI("CreateService"); item = new HttpItem { URL = $"{nacoshost}{entity.Url}?{String.Format(entity.Parms, query.Name, query.NameSpaceId)}", Method = entity.Method }; return(HttpMethod.HttpWork(item).Html.Contains("ok")); }
public IServiceConfig GetConfig(IServiceConfig config) { NacosAPIEntity entity = GetNacosAPI("GetConfig"); item = new HttpItem { URL = $"{nacoshost}{entity.Url}?{String.Format(entity.Parms,query.NameSpaceId, config.dataId, config.group)}", Method = entity.Method }; config.configstr = HttpMethod.HttpWork(item).Html; return(config); }
public bool Beat() { NacosAPIEntity entity = GetNacosAPI("Beat"); item = new HttpItem { URL = $"{nacoshost}{entity.Url}?{String.Format(entity.Parms, query.Name, JsonConvert.SerializeObject(new { cluster = query.clustername, ip = query.ip, port = query.port, scheduled = true, serviceName = query.Name, query.weight }),query.NameSpaceId)}", Method = entity.Method }; String html = HttpMethod.HttpWork(item).Html; //Console.WriteLine($"Beat:{html}"); return(html.Contains("ok")); }
public IServiceInfo QueryService() { NacosAPIEntity entity = GetNacosAPI("QueryService"); item = new HttpItem { URL = $"{nacoshost}{entity.Url}?{String.Format(entity.Parms, query.NameSpaceId)}", Method = entity.Method }; String html = HttpMethod.HttpWork(item).Html; if (html.Contains("ok")) { return(new NacosService { Name = Convert.ToString(query.Name), NameSpaceId = query.NameSpaceId, ip = query.ip, port = query.port, }); } return(null); }
public IEnumerable <IServiceInfo> QueryServiceList() { NacosAPIEntity entity = GetNacosAPI("QueryServiceList"); item = new HttpItem { URL = $"{nacoshost}{entity.Url}?{String.Format(entity.Parms, query.NameSpaceId)}", Method = entity.Method }; String html = HttpMethod.HttpWork(item).Html; if (JsonConvert.DeserializeObject(html) is JObject jobj) { var doms = jobj.SelectTokens("doms[*]"); return(from a in doms select new NacosService { Name = Convert.ToString(a), NameSpaceId = query.NameSpaceId }); } return(null); }
public void ListenConfig() { NacosAPIEntity entity = GetNacosAPI("ListenConfig"); }