public void Modify() { IConfiguredInstance instance = new ConfiguredInstance(typeof(ImportantService)); instance.SetLifecycleTo(new SingletonLifecycle()); instance.SetLifecycleTo <SingletonLifecycle>(); instance.Singleton(); }
public void can_set_scope_directly_on_the_instance() { var i1 = new ConfiguredInstance(GetType()).Named("foo"); i1.SetLifecycleTo(Lifecycles.ThreadLocal); i1.Lifecycle.ShouldBeOfType <ThreadLocalStorageLifecycle>(); }
public void set_to_default() { #region sample_iconfiguredinstance-lifecycle IConfiguredInstance instance = new ConfiguredInstance(typeof(WidgetHolder)); // Use the SingletonThing lifecycle instance.Singleton(); // or supply an ILifecycle type instance.SetLifecycleTo <ThreadLocalStorageLifecycle>(); // or supply an ILifecycle object instance.SetLifecycleTo(new Lifecycles_Samples.MyCustomLifecycle()); // or override to the default "transient" lifecycle instance.DefaultLifecycle(); #endregion instance.Lifecycle .ShouldBeOfType <TransientLifecycle>(); }
public void set_to_default() { // SAMPLE: iconfiguredinstance-lifecycle IConfiguredInstance instance = new ConfiguredInstance(typeof(WidgetHolder)); // Use the SingletonThing lifecycle instance.Singleton(); // or supply an ILifecycle type instance.SetLifecycleTo <HttpContextLifecycle>(); // or supply an ILifecycle object instance.SetLifecycleTo(new Lifecycles_Samples.MyCustomLifecycle()); // or override to the default "transient" lifecycle instance.DefaultLifecycle(); // ENDSAMPLE instance.Lifecycle .ShouldBeOfType <TransientLifecycle>(); }
public void does_override_the_scope_of_the_parent() { var family = new PluginFamily(GetType()); family.SetLifecycleTo(Lifecycles.Singleton); var i1 = new ConfiguredInstance(GetType()).Named("foo"); i1.SetLifecycleTo(Lifecycles.ThreadLocal); family.AddInstance(i1); i1.Lifecycle.ShouldBeOfType <ThreadLocalStorageLifecycle>(); }
public void get_instance_if_the_object_is_unique_and_does_not_exist() { var instance = new ConfiguredInstance(typeof(Foo)); instance.SetLifecycleTo(Lifecycles.Unique); var foo = new Foo(); var foo2 = new Foo(); theResolverMock.BuildUnique(typeof(IFoo), instance).Returns(foo, foo2); theCache.GetObject(typeof(IFoo), instance, new UniquePerRequestLifecycle()).ShouldBeTheSameAs(foo); theCache.GetObject(typeof(IFoo), instance, new UniquePerRequestLifecycle()).ShouldBeTheSameAs(foo2); }