public void CanSetDefaultLifetimeManagerToRequestLifetime() { var lifetime = new RequestLifetime(); iocContainer.UsesDefaultLifetimeManagerOf(lifetime); Verify.That(iocContainer.DefaultLifetimeManager).IsTheSameObjectAs(lifetime); }
void SettingTheDefaultContainerLifetime() { // create the container. Only done once in Application_Start IocContainer iocContainer = new IocContainer(); // create a lifetime manager to use as default ILifetimeManager lifetimeManager = new LifetimeManagers.RequestLifetime(); // set the default lifetime manager iocContainer.UsesDefaultLifetimeManagerOf(lifetimeManager); }
public void RequestLifetimeManagerReturnsSameObjectForSameRequest() { var context1 = new FakeHttpContext("Http://fakeUrl1.com"); var context2 = new FakeHttpContext("Http://fakeUrl2.com"); var requestltm = new RequestLifetime(); using (var container = new IocContainer()) { container.Register<IFoo>(c => new Foo1()).WithLifetimeManager(requestltm); RequestLifetime.SetContext(context1); var result1 = container.Resolve<IFoo>(); var result2 = container.Resolve<IFoo>(); RequestLifetime.SetContext(context2); var result3 = container.Resolve<IFoo>(); Verify.That(result3).IsNotNull(); Verify.That(result2).IsNotNull(); Verify.That(result1).IsNotNull().IsTheSameObjectAs(result2).IsNotTheSameObjectAs(result3); } }
void context_EndRequest(object sender, EventArgs e) { RequestLifetime.Disposer(sender, e); }