예제 #1
0
        public ServicesController()
        {
            _services = new ServiceCache();

            _services.Register(new ServiceIdentity {
                ServiceName = "positions"
            });
            _services.Register(new ServiceIdentity {
                ServiceName = "exposures"
            });
        }
예제 #2
0
        public void CanRegisterService()
        {
            var cache = new ServiceCache();

            cache.Register(new ServiceIdentity {
                ServiceName = "test", Location = "/"
            });

            Assert.Equal(1, cache.Keys.Count);
        }
예제 #3
0
        public void RegisterAssignsInstanceKey()
        {
            var service = new ServiceIdentity {
                ServiceName = "FOO"
            };
            var cache = new ServiceCache();

            cache.Register(service);

            Assert.NotEmpty(service.InstanceKey);
        }
예제 #4
0
        public ActionResult Register(ServiceIdentity service)
        {
            try
            {
                _services.Register(service);
            }
            catch (ValidationException)
            {
            }
            catch (DuplicateRegistrationException)
            {
            }

            return(Created($"/services/{service.ServiceName}", service));
        }