示例#1
0
 internal EurekaAppCache(IEurekaDiscovery eurekaClient, EurekaDiscovery.ILogger logger, TimeSpan?cacheExpiration)
 {
     Discovery       = eurekaClient;
     Log             = logger ?? new NoopLogger();
     Cache           = new Dictionary <string, CachedApp>();
     CacheExpiration = cacheExpiration.GetValueOrDefault(DEFAULT_CACHE_EXPIRATION);
 }
示例#2
0
            public IEurekaDiscovery Build()
            {
                if (EurekaClient == null)
                {
                    if (string.IsNullOrEmpty(EurekaUrl))
                    {
                        throw new ArgumentNullException(nameof(EurekaUrl));
                    }

                    EurekaClient = new EurekaRestClient(EurekaUrl, Logger);
                }

                return(new EurekaAppCache(EurekaClient, Logger, CacheExpiration));
            }
示例#3
0
 public Builder SetEurekaClient(IEurekaDiscovery eurekaDiscovery)
 {
     EurekaClient = eurekaDiscovery;
     return(this);
 }