public void UsesDefaultLifetimeManagerOfChangesTheDefaultLifetimeManager() { var aLifetimeManager = new LifetimeManagers.ContainerLifetime(); iocContainer.UsesDefaultLifetimeManagerOf(aLifetimeManager); iocContainer.Register <IFoo>(c => new Foo1()); var foo1 = iocContainer.Resolve <IFoo>(); var foo2 = iocContainer.Resolve <IFoo>(); Verify.That(iocContainer.DefaultLifetimeManager).IsTheSameObjectAs(aLifetimeManager); Verify.That(foo1).IsTheSameObjectAs(foo2); }
void SettingTheLifetimeManagerForARegistration() { // create the container. Only done once in Application_Start IocContainer iocContainer = new IocContainer(); // create a Container lifetime manager to use for 'singelton' services // only one instance will be created and reused for each resolve request. ILifetimeManager containerLifetimeManager = new LifetimeManagers.ContainerLifetime(); iocContainer.Register <IMembershipService>(ioc => new AccountMembershipService(Membership.Provider)) .WithLifetimeManager(containerLifetimeManager); iocContainer.Register <IFormsAuthenticationService>(ioc => new FormsAuthenticationService()) .WithLifetimeManager(containerLifetimeManager); }
public void UsesDefaultLifetimeManagerOfChangesTheDefaultLifetimeManager() { using (var iocContainer = new IocContainer()) { var aLifetimeManager = new LifetimeManagers.ContainerLifetime(); iocContainer.UsesDefaultLifetimeManagerOf(aLifetimeManager); iocContainer.Register<IFoo>(c => new Foo1()); var foo1 = iocContainer.Resolve<IFoo>(); var foo2 = iocContainer.Resolve<IFoo>(); Verify.That(iocContainer.DefaultLifetimeManager).IsTheSameObjectAs(aLifetimeManager); Verify.That(foo1).IsTheSameObjectAs(foo2); } }