private IWindsorContainer BuildContainerAndRegisterTypes() { var container = new WindsorContainer(); container.Kernel.ReleasePolicy = new NoTrackingReleasePolicy(); // register types from the config file IWindsorInstaller[] installers = new[] { Castle.Windsor.Installer.Configuration.FromXmlFile("app_config\\windsor\\components.config") }; container.Install(installers); // Register MVC controllers container.Register(Classes.FromAssemblyNamed("CustomController") .BasedOn<System.Web.Mvc.IController>() .LifestyleTransient()); // Register WebApi controllers // http://forums.asp.net/t/1727621.aspx?Castle+Windsor+IOC+No+component+for+supporting+the+service+Web+Controllers+HomeController+was+found container.Register(Classes.FromAssemblyNamed("CustomController") .BasedOn<System.Web.Http.Controllers.IHttpController>() .LifestylePerWebRequest() .Configure(x => x.Named(x.Implementation.FullName))); return container; }
public void Install(IWindsorContainer container, IConfigurationStore store) { var players = new[] { new Player("Red"), new Player("Blue") }; container.Register(Component.For<Player[]>().UsingFactoryMethod(() => players)); container.Register(Component.For<ITurnTaking, INotifyBeginningNextRound>().ImplementedBy<RoundRobinTurns>()); }
protected override void RegisterIUserRolesProvider(IWindsorContainer container) { var registrar = new ChainOfResponsibilityRegistrar(container); var types = new[] { typeof (PositionTitleUserClaimSetsProvider), typeof (StaffCategoryUserClaimSetsProvider) }; registrar.RegisterChainOf<IUserClaimSetsProvider<ClaimsSet, EdFiUserSecurityDetails>, NullUserClaimSetsProvider<ClaimsSet, EdFiUserSecurityDetails>>(types); }
public void InstallsHandlerTypes() { // Arrange var container = new WindsorContainer(); container.Register( Component.For<IDocumentStore>() .Instance(new EmbeddableDocumentStore { RunInMemory = true }.Initialize())); // Act var handlerTypes = new[] { typeof(AggregateHandler), typeof(AnotherAggregateHandler) }; var installer = EventStoreInstaller.FromHandlerTypes(handlerTypes); container.Install(installer); // Assert VerifyContainer(new WindsorServiceLocator(container), 2); }
public void Claim_validation_chain_should_have_next() { var keys = new[] { "IClaimValidator.ViewOperationalDashboard", "IClaimValidator.ViewMyStudents", "IClaimValidator.ManageGoals", "IClaimValidator.ViewAllStudents", "IClaimValidator.ViewAllMetrics", "IClaimValidator.AdministerDashboard", "IClaimValidator.ViewAllTeachers" }; foreach (var key in keys) { var foo = containerMock.Resolve<ClaimValidatorBase>(key); Assert.NotNull(foo); } }