public static async Task call() { ServiceSubscribe client = null; try { var host = "es.qipeilong.net:2181"; //docker run --name some-zookeeper --restart always -p 2181:2181 -d zookeeper client = new ServiceSubscribe(host); client.OnRecconected += () => { Console.WriteLine("重新链接"); }; client.OnServiceChanged += () => { Console.WriteLine("服务发生更改"); var s = client.AllService(); if (ValidateHelper.IsPlumpList(s)) { s.Select(x => $"{x.FullPathName}===={x.Url}").ToList().ForEach(Console.WriteLine); } else { Console.WriteLine("没有服务"); } }; foreach (var i in Com.Range(10000000)) { while (client.AllService().Count <= 0) { Console.WriteLine($"等待服务上线==={i}"); await Task.Delay(TimeSpan.FromSeconds(1)); } using (var c = new Caller(client)) { try { var data = c.Instance.GetData(i); Console.WriteLine($"服务返回数据:{data}"); await Task.Delay(TimeSpan.FromSeconds(1)); } catch (Exception e) { Console.WriteLine(e.Message); } } } await Task.FromResult(1); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); } finally { client?.Dispose(); } }
static void Main(string[] args) { foreach (var i in ServiceBridge.helper.Com.Range(100)) { using (var con = new ServiceSubscribe("es.qipeilong.net:2181")) { con.OnSubscribeFinishedAsync += async() => { Console.WriteLine("订阅完成"); await Task.FromResult(1); }; con.ResolveSvc <Wcf.Contract.IUserService>(); Console.WriteLine("订阅服务" + con.AllService().Count()); } } //取消监听 sub.Value.Dispose(); }