Esempio n. 1
0
        public void Scoped_Lifetime_Test()
        {
            IScopedBar bar1 = Resolver.GetService <IScopedBar>();
            IScopedBar bar2 = null;
            IScopedBar bar3 = null;
            IScopedBar bar4 = null;
            IScopedBar bar5 = null;

            Task.WaitAll(
                Task.Run(() => DoInNewScopeAsync(scope =>
            {
                bar2         = scope.Resolver.GetService <IScopedBar>();
                var resolver = scope.Resolver.GetService <IIocResolver>();
                bar3         = resolver.GetService <ScopedTest>().Bar;
                bar4         = scope.Resolver.GetService <IScopedBar>();
            }
                                                 )),
                Task.Run(() => DoInNewScopeAsync(a =>
            {
                bar5 = Resolver.GetService <IScopedBar>();
            }))
                );

            Assert.NotEqual(bar1.Id, bar2.Id);

            Assert.Equal(bar2.Id, bar3.Id);
            Assert.Equal(bar2.Id, bar4.Id);

            Assert.Equal(bar1.Id, bar5.Id);
        }
Esempio n. 2
0
 public ScopedTest(IScopedBar bar)
 {
     Bar = bar;
 }