public void Should_be_able_resolve_all_instances() { var container = new NinjectComponentContainer(new StandardKernel()); RegisterCollection(container); ResolveCollection(container); }
public void Should_be_able_to_register_and_resolve_transient_open_generic_components() { var container = new NinjectComponentContainer(new StandardKernel()); RegisterTransientGeneric(container); ResolveTransientGeneric(container); }
public void Should_be_able_to_register_and_resolve_a_multiple_singleton() { var container = new NinjectComponentContainer(new StandardKernel()); RegisterMultipleSingleton(container); ResolveMultipleSingleton(container); }
public void Should_be_able_to_register_and_resolve_multiple_transient_components() { var container = new NinjectComponentContainer(new StandardKernel()); RegisterMultipleTransient(container); ResolveMultipleTransient(container); }
public void Should_be_able_to_register_and_resolve_an_open_generic_singleton() { var container = new NinjectComponentContainer(new StandardKernel()); RegisterSingletonGeneric(container); ResolveSingletonGeneric(container); }
public void ExerciseEventProcessing() { var container = new NinjectComponentContainer(new StandardKernel()); Bootstrap(container); container.RegisterDataAccess(); container.RegisterEventStore(); container.RegisterEventStoreStorage(); container.RegisterEventProcessing(); container.Resolve <EventProcessingModule>(); var eventStore = container.Resolve <IEventStore>(); using (DatabaseContextFactory.Create(EventStoreConnectionStringName)) { RecallFixture.ExerciseStorage(eventStore); } using (DatabaseContextFactory.Create(EventStoreProjectionConnectionStringName)) { RecallFixture.ExerciseEventProcessing(container.Resolve <IEventProcessor>(), 300); } using (DatabaseContextFactory.Create(EventStoreConnectionStringName)) { RecallFixture.ExerciseStorageRemoval(eventStore); } }
public static ComponentContainer GetComponentContainer() { var container = new NinjectComponentContainer(new StandardKernel()); container.RegisterInstance(AmazonSqsConfiguration()); return(new ComponentContainer(container, () => container)); }
public void Start() { _kernel = new StandardKernel(); var container = new NinjectComponentContainer(_kernel); ServiceBus.Register(container); container.Resolve <ISubscriptionManager>().Subscribe <DocumentProcessedEvent>(); _bus = ServiceBus.Create(container).Start(); }
static void Main(string[] args) { var container = new NinjectComponentContainer(new StandardKernel()); ServiceBus.Register(container); using (ServiceBus.Create(container).Start()) { Console.WriteLine("Server started... Ctrl+C to exit."); Console.ReadKey(); } }
public void Start() { _kernel = new StandardKernel(); _kernel.Bind <IEMailService>().To <EMailService>(); var container = new NinjectComponentContainer(_kernel); ServiceBus.Register(container); _bus = ServiceBus.Create(container).Start(); }
public void Start() { _kernel = new StandardKernel(); _kernel.Bind <IEMailService>().To <EMailService>(); var container = new NinjectComponentContainer(_kernel); container.Register <IAzureStorageConfiguration, DefaultAzureStorageConfiguration>(); container.RegisterServiceBus(); _bus = container.Resolve <IServiceBus>().Start(); }
public void ExerciseStorage() { var container = new NinjectComponentContainer(new StandardKernel()); container.RegisterInstance(new Mock <IProjectionRepository>().Object); container.RegisterEventStore(); container.RegisterDataAccess(); container.RegisterEventStoreStorage(); using (DatabaseContextFactory.Create(EventStoreConnectionStringName)) { RecallFixture.ExerciseStorage(container.Resolve <IEventStore>()); } }
public void CanResolveMultiple() { // ARRANGE var container = new NinjectComponentContainer(new StandardKernel()); // ReSharper disable once ObjectCreationAsStatement new REstateHost(container); // ACT var connectors = container.ResolveAll <IAction <string, string> >(); // ASSERT Assert.NotNull(connectors); Assert.NotEmpty(connectors); }
public void CanOverrideABinding() { // ARRANGE var kernel = new StandardKernel(); var container = new NinjectComponentContainer(kernel); // ReSharper disable once ObjectCreationAsStatement new REstateHost(container); // ACT container.Register(typeof(ICartographer <,>), typeof(TestCartographer <,>)); var resolvedCartographer = container.Resolve <ICartographer <string, string> >(); // ASSERT Assert.IsType <TestCartographer <string, string> >(resolvedCartographer); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IApplicationLifetime applicationLifetime) { var container = app.ApplicationServices.GetService <IKernel>(); var componentContainer = new NinjectComponentContainer(container); componentContainer.Register <IHttpContextAccessor, HttpContextAccessor>(); componentContainer.Register <IDatabaseContextCache, ContextDatabaseContextCache>(); var applicationPartManager = app.ApplicationServices.GetRequiredService <ApplicationPartManager>(); var controllerFeature = new ControllerFeature(); applicationPartManager.PopulateFeature(controllerFeature); foreach (var type in controllerFeature.Controllers.Select(t => t.AsType())) { componentContainer.Register(type, type); } ServiceBus.Register(componentContainer); var databaseContextFactory = componentContainer.Resolve <IDatabaseContextFactory>(); databaseContextFactory.ConfigureWith("DocumentStore"); _bus = ServiceBus.Create(componentContainer).Start(); applicationLifetime.ApplicationStopping.Register(OnShutdown); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts(); } app.UseCors( options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader() ); app.UseHttpsRedirection(); app.UseMvc(); }
private static void Main(string[] args) { var iterationsPerTask = int.Parse(ConfigurationManager.AppSettings["MessagesPerThread"]); var taskCount = int.Parse(ConfigurationManager.AppSettings["NoOfThreads"]); var container = new NinjectComponentContainer(new StandardKernel()); ServiceBus.Register(container); using (var bus = ServiceBus.Create(container).Start()) { var tasks = new Task[taskCount]; for (var t = 0; t < taskCount; t++) { tasks[t] = new Task(() => { for (var i = 0; i < iterationsPerTask; i++) { bus.Send(new Message { Body = BodyGenerator.GetNext() }); } }, TaskCreationOptions.LongRunning); } Console.WriteLine("Sending " + iterationsPerTask * taskCount + " messages across " + taskCount + " threads"); var watch = new Stopwatch(); watch.Start(); for (var t = 0; t < taskCount; t++) { tasks[t].Start(); } Task.WaitAll(tasks); watch.Stop(); Console.WriteLine("Total time: " + watch.Elapsed); Console.ReadKey(); } }
private static void Main(string[] args) { var container = new NinjectComponentContainer(new StandardKernel()); ServiceBus.Register(container); using (var bus = ServiceBus.Create(container).Start()) { string userName; while (!string.IsNullOrEmpty(userName = Console.ReadLine())) { bus.Send(new RegisterMemberCommand { UserName = userName }); } } }
private static void Main(string[] args) { var container = new NinjectComponentContainer(new StandardKernel()); container.Register <IAzureStorageConfiguration, DefaultAzureStorageConfiguration>(); container.RegisterServiceBus(); using (var bus = container.Resolve <IServiceBus>().Start()) { string userName; while (!string.IsNullOrEmpty(userName = Console.ReadLine())) { bus.Send(new RegisterMemberCommand { UserName = userName }); } } }
public void CanBindMultipleNamed() { // ARRANGE var kernel = new StandardKernel(); var container = new NinjectComponentContainer(kernel); // ReSharper disable once ObjectCreationAsStatement new REstateHost(container); // ACT container.Register(typeof(ICartographer <,>), typeof(DotGraphCartographer <,>), "dot"); container.Register(typeof(ICartographer <,>), typeof(TestCartographer <,>), "test"); var test = container.Resolve <ICartographer <string, string> >("test"); var dot = container.Resolve <ICartographer <string, string> >("dot"); // ASSERT Assert.IsType <TestCartographer <string, string> >(test); Assert.IsType <DotGraphCartographer <string, string> >(dot); }
public void Start() { Log.Assign(new Log4NetLog(LogManager.GetLogger(typeof(Host)))); if (ConfigurationItem <bool> .ReadSetting("SkipCertificateValidation", true).GetValue()) { ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; } ServicePointManager.Expect100Continue = false; ServicePointManager.MaxServicePointIdleTime = 0; _container = new NinjectComponentContainer(_kernel); _container.Register <IMalwareService, McAfeeMalwareService>(); ServiceBus.Register(_container); _container.Resolve <IDatabaseContextFactory>().ConfigureWith("DocumentStore"); _bus = ServiceBus.Create(_container).Start(); }
public static NinjectComponentContainer Create(IKernel kernel, INetMQServerConfiguration configuration) { Guard.AgainstNull(kernel, nameof(kernel)); Guard.AgainstNull(configuration, nameof(configuration)); var container = new NinjectComponentContainer(kernel); container.RegisterInstance(configuration); container.Register(typeof(ISerializer), configuration.GetSerializerType()); container.Register <IPipelineFactory, DefaultPipelineFactory>(); container.Register <INetMQRequestClientProvider, NetMQRequestClientProvider>(); container.Register <INetMQRequestServer, NetMQRequestServer>(); container.Register <IUriResolver, DefaultUriResolver>(); container.Register <IQueueManager, QueueManager>(); container.Register <INetMQServer, NetMQServer>(); var reflectionService = new ReflectionService(); foreach (var type in reflectionService.GetTypesAssignableTo <IPipeline>()) { if (type.IsInterface || type.IsAbstract || container.IsRegistered(type)) { continue; } container.Register(type, type, Lifestyle.Transient); } foreach (var type in reflectionService.GetTypesAssignableTo <IPipelineObserver>()) { if (type.IsInterface || type.IsAbstract) { continue; } var interfaceType = type.InterfaceMatching($"I{type.Name}"); if (interfaceType != null) { if (container.IsRegistered(type)) { continue; } container.Register(interfaceType, type, Lifestyle.Singleton); } } var queueFactoryType = typeof(IQueueFactory); var queueFactoryImplementationTypes = new HashSet <Type>(); void AddQueueFactoryImplementationType(Type type) { queueFactoryImplementationTypes.Add(type); } if (configuration.ScanForQueueFactories) { foreach (var type in new ReflectionService().GetTypesAssignableTo <IQueueFactory>()) { AddQueueFactoryImplementationType(type); } } foreach (var type in configuration.QueueFactoryTypes) { AddQueueFactoryImplementationType(type); } container.RegisterCollection(queueFactoryType, queueFactoryImplementationTypes, Lifestyle.Singleton); var queueManager = container.Resolve <IQueueManager>(); var queueFactories = container.ResolveAll <IQueueFactory>(); foreach (var queueFactory in queueFactories) { queueManager.RegisterQueueFactory(queueFactory); } return(container); }