Exemplo n.º 1
0
        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);
 }