public RegisterServiceRegistryContainerResult(string name, CoreServices.ServiceRegistry registry, Type type, MethodInfo method, ServiceRegistryLoaderAttribute attr)
 {
     Success         = true;
     Type            = type;
     MethodInfo      = method;
     Attribute       = attr;
     ServiceRegistry = registry;
     Name            = name;
 }
 public CoreServices.ServiceRegistry Build()
 {
     Args.ThrowIf(_forTypes.Count != _useTypes.Count, "Type count mismatch: for types ({0}) use types({1})", _forTypes.Count, _useTypes.Count);
     CoreServices.ServiceRegistry reg = new CoreServices.ServiceRegistry();
     for (int i = 0; i < _forTypes.Count; i++)
     {
         reg.Set(_forTypes[i], _useTypes[i]);
     }
     return(reg);
 }
Exemple #3
0
        public CoreServices.ServiceRegistry RegistryLoader()
        {
            ConsoleLogger logger = new ConsoleLogger();

            logger.StartLoggingThread();
            CoreServices.ServiceRegistry registry = new CoreServices.ServiceRegistry();
            registry
            .For <ILogger>().Use(logger)
            .ForCtor <TestRegistryClass>("ctorParam").Use(TestValue);
            return(registry);
        }
Exemple #4
0
        public void CanRegisterContainer()
        {
            ServiceRegistryService svc = GetServiceRegistrationService(nameof(ServiceRegistryLoaderTest));
            List <ServiceRegistryContainerRegistrationResult> results = svc.RegisterServiceRegistryContainers(Assembly.GetExecutingAssembly());

            Expect.AreEqual(1, results.Count);
            CoreServices.ServiceRegistry registry = svc.GetServiceRegistry(results[0].Name);
            TestRegistryClass            instance = registry.Get <TestRegistryClass>();

            Expect.AreEqual(instance.SetByCtor, TestRegistryContainer.TestValue);
            Expect.AreEqual(typeof(ConsoleLogger), instance.Logger.GetType());
        }
Exemple #5
0
        public static ServiceProxyServer Serve(this CoreServices.ServiceRegistry registry, HostPrefix[] hostPrefixes, ILogger logger = null, BamConf conf = null)
        {
            conf   = conf ?? BamConf.Load(ServiceConfig.ContentRoot);
            logger = logger ?? Log.Default;

            ServiceProxyServer server = new ServiceProxyServer(registry, new ServiceProxyResponder(conf, logger), logger);

            foreach (HostPrefix prefix in hostPrefixes)
            {
                server.HostPrefixes.Add(prefix);
            }
            server.Start();
            return(server);
        }
Exemple #6
0
        public void ServiceRegistryLoaderTest()
        {
            ServiceRegistryService svc = GetServiceRegistrationService(nameof(ServiceRegistryLoaderTest));
            string name = nameof(ServiceRegistryLoaderTest);

            svc.RegisterServiceRegistryLoader(name, typeof(TestServiceRegistryContainer).GetMethod("Create"), true);

            CoreServices.ServiceRegistry reg = svc.GetServiceRegistry(name);
            TestMonkey value = reg.Get <TestMonkey>();

            Expect.AreEqual("SomeValue", value.Name);
            Expect.IsNull(value.Logger);
            reg.SetProperties(value);
            Expect.IsObjectOfType <ConsoleLogger>(value.Logger);
        }
Exemple #7
0
 public static ServiceProxyServer Serve <T>(this T service, HostPrefix[] hostPrefixes, ILogger logger = null, BamConf conf = null)
 {
     CoreServices.ServiceRegistry reg = new CoreServices.ServiceRegistry();
     reg.For <T>().Use(service);
     return(reg.Serve(hostPrefixes, logger, conf));
 }
Exemple #8
0
 public static ServiceProxyServer Serve(this CoreServices.ServiceRegistry registry, ILogger logger = null, string hostName = "localhost", int port = 8080, bool ssl = false, BamConf conf = null)
 {
     return(Serve(registry, new HostPrefix[] { new HostPrefix {
                                                   HostName = hostName, Port = port, Ssl = ssl
                                               } }, logger, conf));
 }
Exemple #9
0
 public static ServiceProxyServer Serve <T>(this T service, ILogger logger = null, string hostName = "localhost", int port = 8080, bool ssl = false, BamConf conf = null) where T : ProxyableService
 {
     CoreServices.ServiceRegistry reg = new CoreServices.ServiceRegistry();
     reg.For <T>().Use(service);
     return(reg.Serve(logger, hostName, port, ssl, conf));
 }