public void Start() { var serverAddressesFeature = _server.Features?.Get <IServerAddressesFeature>(); if (serverAddressesFeature == null || serverAddressesFeature.Addresses.Count == 0) { _logger.LogError("can not found IServerAddressesFeature in IServer,can not register service."); return; } //添加服务IPAndPort var ipPort = NetHelper.GetIPAndPort(_grpcServerOptions.ServiceAddress); var serverAddress = BindingAddress.Parse(serverAddressesFeature.Addresses.First()); MetaModel.StartTime = DateTime.Now; MetaModel.Ip = ipPort.Item1; MetaModel.Port = serverAddress.Port; Console.WriteLine($"server listening {MetaModel.Ip}:{MetaModel.Port}"); //使用BaseServices Console.WriteLine($"use {_serviceRegister.GetType().Name} register"); Console.WriteLine($" DiscoveryUrl:{_grpcServerOptions.DiscoveryUrl}"); Console.WriteLine($" ServiceName:{_grpcServerOptions.DiscoveryServiceName}"); var registerModel = _grpcServerOptions.ToJson().FromJson <ServiceRegisterModel>(); registerModel.ServiceIp = MetaModel.Ip; registerModel.ServicePort = MetaModel.Port; _serviceRegister.RegisterService(registerModel); }
public void RegisterService() { _entry = _serviceRegister.RegisterService(_grpcServerRegisters); }