Example #1
0
        public void Start()
        {
            SystemActors.ClusterSystem = SystemHostFactory.Launch();

            // Create and build the container
            var container = new Ninject.StandardKernel();

            container.Bind <IFileProcessorRepository>().To(typeof(FileProcessorRepository)).InTransientScope();
            container.Bind <DistributedPubSub>().ToConstant(DistributedPubSub.Get(SystemActors.ClusterSystem));


            // Create the dependency resolver for the actor system
            IDependencyResolver resolver = new NinjectDependencyResolver(container, SystemActors.ClusterSystem);

            var pbm = PetabridgeCmd.Get(SystemActors.ClusterSystem);

            pbm.RegisterCommandPalette(ClusterCommands.Instance); // enable cluster management commands
            pbm.Start();

            SystemActors.SettingsWatcherRef = SystemActors.ClusterSystem.ActorOf(SystemActors.ClusterSystem.DI().Props <DatabaseWatcherActor>(), "DatabaseWatcher");
            SystemActors.Mediator           = DistributedPubSub.Get(SystemActors.ClusterSystem).Mediator;

            SystemActors.LocationManagerActorRef = SystemActors.ClusterSystem.ActorOf(ClusterSingletonManager.Props(
                                                                                          singletonProps: Props.Create(() => new LocationManagerActor()),                                                               // Props used to create actor singleton
                                                                                          terminationMessage: PoisonPill.Instance,                                                                                      // message used to stop actor gracefully
                                                                                          settings: ClusterSingletonManagerSettings.Create(SystemActors.ClusterSystem).WithRole(StaticMethods.GetServiceWorkerRole())), // cluster singleton manager settings
                                                                                      name: ActorPaths.SingletonManagerActor.Name);

            SystemActors.LocationManagerProxyRef = SystemActors.ClusterSystem.ActorOf(ClusterSingletonProxy.Props(
                                                                                          singletonManagerPath: ActorPaths.SingletonManagerActor.Path,
                                                                                          settings: ClusterSingletonProxySettings.Create(SystemActors.ClusterSystem).WithRole(StaticMethods.GetServiceWorkerRole())),
                                                                                      name: ActorPaths.SingletonManagerProxy.Name);
        }
Example #2
0
        public static void Register(HttpConfiguration config)
        {
            Ninject.IKernel kernel = new Ninject.StandardKernel();

            kernel.Bind <Core.Repository.IUnitOfWork>().To <Core.EntityFramework.TaskDbContext>();

            //service binding
            //kernel.Bind<Core.Service.IAccountService>().To<Core.Service.AccountService>();
            kernel.Bind <Core.Service.ITaskService>().To <Core.Service.TaskService>();

            //mvc inject
            DependencyResolver.SetResolver(new MvcDependencyResolver(kernel));
            //webapi inject
            config.DependencyResolver = new WebApiDependencyResolver(kernel);
        }
Example #3
0
        static void Main(string[] args)
        {
            var config = ConfigurationFactory.ParseString(@"
			akka {  
			    actor {
			        provider = remote
			    }
			    remote {
			        dot-netty.tcp {
					    port = 8081
					    hostname = localhost
			        }
			    }
			}
			"            );

            using (var system = ActorSystem.Create("CoMutatorNetwork", config))
            {
                var container = new Ninject.StandardKernel();
                container.Bind <IRepositoryService>().To(typeof(PublicGitRepositoryService));
                var propsResolver = new NinjectDependencyResolver(container, system);

                var leader = system.ActorOf(system.DI().Props <Leader>(), "Leader");
                Console.ReadLine();
                leader.Tell(new TestThisRepoMessage("https://github.com/idormenco/Maxcode.TrainingDay2020.git"));
                Console.ReadKey();
            }
        }
Example #4
0
        protected override Ninject.IKernel CreateKernel()
        {
            var kernel = new Ninject.StandardKernel();
            kernel.Bind<string>().ToConstant("kosta").WhenInjectedInto<HomeController>();
            return kernel;

        }
Example #5
0
        public static void Configure()
        {
            var kernel = new Ninject.StandardKernel();

            kernel.Bind(x =>
            {
                x.FromAssemblyContaining <ISlineCommand>()
                .SelectAllClasses()
                .InheritedFrom <ISlineCommand>()
                .BindSelection((t, b) => new[] { typeof(ISlineCommand) });
            });

            kernel.Bind <MainWindowViewModel>().ToSelf();

            kernel.UseNinjectDependencyResolver();
        }
        private void SetupDependencyContainer()
        {
            var kernel         = new Ninject.StandardKernel();
            var serviceLocator = new NinjectServiceLocator(kernel);

            ServiceLocator.SetLocatorProvider(() => serviceLocator);
            kernel.Bind <Action <string> >().ToMethod(c => this.SetMessage);
        }
Example #7
0
        public void Start()
        {
            SystemActors.ClusterSystem = SystemHostFactory.Launch();

            var pbm = PetabridgeCmd.Get(SystemActors.ClusterSystem);

            pbm.RegisterCommandPalette(ClusterCommands.Instance); // enable cluster management commands
            pbm.Start();

            // Create and build the container
            var container = new Ninject.StandardKernel();

            container.Bind <IFileProcessorRepository>().To(typeof(FileProcessorRepository)).InTransientScope();
            container.Bind <DistributedPubSub>().ToConstant(DistributedPubSub.Get(SystemActors.ClusterSystem));

            // Create the dependency resolver for the actor system
            IDependencyResolver resolver = new NinjectDependencyResolver(container, SystemActors.ClusterSystem);

            SystemActors.Mediator = DistributedPubSub.Get(SystemActors.ClusterSystem).Mediator;
        }
Example #8
0
        public static Ninject.IKernel GetContainer()
        {
            Ninject.IKernel Kernel = new Ninject.StandardKernel();

            ConfiguraView(Kernel);
            ConfiguraGrid(Kernel);
            ConfiguraRepository(Kernel);
            ConfiguraService(Kernel);

            Kernel.Bind <IEventAggregator>().To <EventAggregator>().InSingletonScope();

            return(Kernel);
        }
Example #9
0
        static void Main(string[] args)
        {
            var config = ConfigurationFactory.ParseString(@"
			akka {  
			    actor {
			        provider = remote
			    }
			    remote {
			        dot-netty.tcp {
					    port = 0
					    hostname = localhost
			        }
			    }
			}
			"            );

            var container = new Ninject.StandardKernel();

            container.Bind <IRepositoryService>().To(typeof(PublicGitRepositoryService));

            var adeptOptions = new AdeptOptions
            {
                LeaderActorPath = "akka.tcp://CoMutatorNetwork@localhost:8081/user/Leader"
            };

            container.Bind <AdeptOptions>().ToConstant(adeptOptions);

            using (var system = ActorSystem.Create("Adept", config))
            {
                var propsResolver = new NinjectDependencyResolver(container, system);

                var adept = system.ActorOf(system.DI().Props <Adept>());

                adept.Tell(new InitHandshake());
                Console.Read();
            }
        }
Example #10
0
        private static void WithHashPool()
        {
            Ninject.IKernel container = new Ninject.StandardKernel();
            container.Bind <TypedWorker>().To(typeof(TypedWorker));


            using (var system = ActorSystem.Create("MySystem"))
            {
                var propsResolver =
                    new NinjectDependencyResolver(container, system);

                var router = system.ActorOf(propsResolver.Create <TypedWorker>().WithRouter(FromConfig.Instance), "router1");

                Task.Delay(500).Wait();
                Console.WriteLine("Sending Messages");

                for (var i = 0; i < 5; i++)
                {
                    for (var j = 0; j < 7; j++)
                    {
                        var msg = new TypedActorMessage {
                            Id = j, Name = Guid.NewGuid().ToString()
                        };
                        var ms = new AnotherMessage {
                            Id = j, Name = msg.Name
                        };

                        var envelope = new ConsistentHashableEnvelope(ms, msg.Id);

                        router.Tell(msg);
                        router.Tell(envelope);
                    }
                }
            }


            Console.ReadLine();
        }
Example #11
0
        private static void WithHashPool()
        {
            Ninject.IKernel container = new Ninject.StandardKernel();
            container.Bind<TypedWorker>().To(typeof(TypedWorker));


            using (var system = ActorSystem.Create("MySystem"))
            {
                var propsResolver =
                    new NinjectDependencyResolver(container, system);

                var router = system.ActorOf(system.DI().Props<TypedWorker>().WithRouter(FromConfig.Instance), "router1");

                Task.Delay(500).Wait();
                Console.WriteLine("Sending Messages");

                for (var i = 0; i < 5; i++)
                {
                    for (var j = 0; j < 7; j++)
                    {

                        var msg = new TypedActorMessage { Id = j, Name = Guid.NewGuid().ToString() };
                        var ms = new AnotherMessage { Id = j, Name = msg.Name };

                        var envelope = new ConsistentHashableEnvelope(ms, msg.Id);

                        router.Tell(msg);
                        router.Tell(envelope);

                    }
                }
                Console.WriteLine("Hit Enter to exit");
                Console.ReadLine();
            }


        }
 private void SetupDependencyContainer()
 {
     var kernel = new Ninject.StandardKernel();
     var serviceLocator = new NinjectServiceLocator(kernel);
     ServiceLocator.SetLocatorProvider(() => serviceLocator);
     kernel.Bind<Action<string>>().ToMethod(c => this.SetMessage);
 }