Ejemplo n.º 1
0
        public T UseService <T>()
        {
            var consulDiscoveryService = new ConsulDiscoveryService(new ServiceRegistryAddress {
                RegistryHost = "127.0.0.1", RegistryPort = 8500
            });
            var url    = consulDiscoveryService.GetRpcService(_serviceName);
            var client = new HproseHttpClient(url);

            return(client.UseService <T>());
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="serviceName"></param>
        /// <param name="serviceRegistryAddress"></param>
        /// <param name="loadBalancer"></param>
        /// <param name="onError"></param>
        public RpcTcpClient(string serviceName, ServiceRegistryAddress serviceRegistryAddress, ILoadBalancer loadBalancer = null, Action <string, Exception> onError = null)
        {
            var consulDiscoveryService = new ConsulDiscoveryService(serviceRegistryAddress, loadBalancer);
            var service = consulDiscoveryService.GetRpcService(serviceName);

            if (service == null)
            {
                throw new ServiceDiscoveryException($"未发现可用的【{serviceName}】 服务");
            }
            _client = new HproseTcpClient(service.ToString());
            if (onError != null)
            {
                _client.OnError += (name, e) =>
                {
                    onError(name, e);
                };
            }
        }