//public RestClient(IBioCredentials credentials) public RestClient() { //if (credentials == null) // throw new ArgumentNullException(nameof(credentials)); //_credentials = credentials; _serviceDiscoverer = null; _requestTimeout = ConfigurationProvider.RequestTimeout; _cacheTimeout = ConfigurationProvider.CacheTimeout; }
//public RestClient(IBioCredentials credentials, IServiceDiscoverer serviceDiscoverer) public RestClient(IServiceDiscoverer serviceDiscoverer) { // if (credentials == null) // throw new ArgumentNullException(nameof(credentials)); if (serviceDiscoverer == null) { throw new ArgumentNullException(serviceDiscoverer.ToString()); } //_credentials = credentials; _serviceDiscoverer = serviceDiscoverer; _requestTimeout = ConfigurationProvider.RequestTimeout; _cacheTimeout = ConfigurationProvider.CacheTimeout; }
public void Start(ServiceConfig serviceConfig) { IServiceAssembliesResolver assembliesResolver = GlobalSetting.Container.GetService<IServiceAssembliesResolver>(); if (assembliesResolver == null) throw new NullReferenceException("IServiceAssembliesResolver接口不能为空"); IServiceFinder serviceFinder = GlobalSetting.Container.GetService<IServiceFinder>(); if (serviceFinder == null) throw new NullReferenceException("IServiceFinder接口不能为空"); IEnumerable<ServiceMap> serviceMaps = FilterServiceMap(serviceFinder.Find(assembliesResolver.GetAssemblies()), serviceConfig.Server.Services); IServiceDiscoverer serviceDiscoverer = GlobalSetting.Container.GetService<IServiceDiscoverer>(); if (serviceDiscoverer == null) throw new NullReferenceException("IServiceDiscoverer接口不能为空"); serviceDiscoverer.RegistrationCenter = serviceConfig.RegistrationCenter; IEnumerable<Service> servics = FilterServices(serviceDiscoverer.Discover(serviceMaps), serviceConfig.Client.Services); IThriftClientActivator thriftClientActivator = GlobalSetting.Container.GetService<IThriftClientActivator>(); if (thriftClientActivator == null) throw new NullReferenceException("IThriftClientActivator接口不能为空"); thriftClientActivator.RegisterServices(servics); }