public void Modify()
        {
            IConfiguredInstance instance = 
                new ConfiguredInstance(typeof(ImportantService));


            instance.SetLifecycleTo(new SingletonLifecycle());

            instance.SetLifecycleTo<SingletonLifecycle>();

            instance.Singleton();


        } 
Пример #2
0
        public void can_set_scope_directly_on_the_instance()
        {
            var i1 = new ConfiguredInstance(GetType()).Named("foo");
            i1.SetLifecycleTo(Lifecycles.ThreadLocal);

            i1.Lifecycle.ShouldBeOfType<ThreadLocalStorageLifecycle>();
        }
Пример #3
0
        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>();
        }
Пример #4
0
        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();

            theResolver.Stub(x => x.BuildUnique(typeof (IFoo), instance)).Return(foo).Repeat.Once();
            theResolver.Stub(x => x.BuildUnique(typeof (IFoo), instance)).Return(foo2).Repeat.Once();

            theCache.GetObject(typeof (IFoo), instance, new UniquePerRequestLifecycle()).ShouldBeTheSameAs(foo);
            theCache.GetObject(typeof (IFoo), instance, new UniquePerRequestLifecycle()).ShouldBeTheSameAs(foo2);
        }
        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>();

        }