Beispiel #1
0
        public void Modify()
        {
            IConfiguredInstance instance =
                new ConfiguredInstance(typeof(ImportantService));


            instance.SetLifecycleTo(new SingletonLifecycle());

            instance.SetLifecycleTo <SingletonLifecycle>();

            instance.Singleton();
        }
Beispiel #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>();
        }
        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>();
        }
Beispiel #5
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>();
        }
Beispiel #6
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();

            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);
        }