public async Task C_test() { var container = CreateContainer(); OuterDependency outer1 = null, outer2 = null; InnerDependency inner1 = null, inner2 = null; SharedDependency shared1 = null, shared2 = null; var t1 = Task.Run(() => { using (container.BeginScope()) { outer1 = container.Resolve <OuterDependency>(); inner1 = outer1.Inner; shared1 = outer1.Shared; } }); var t2 = Task.Run(() => { using (container.BeginScope()) { outer2 = container.Resolve <OuterDependency>(); inner2 = outer2.Inner; shared2 = outer2.Shared; } }); await Task.WhenAll(t1, t2); Assert.That(outer1, Is.Not.SameAs(outer2)); Assert.That(inner1, Is.Not.SameAs(inner2)); Assert.That(shared1, Is.SameAs(shared2)); }
public OuterDependency(InnerDependency inner, SharedDependency shared) { Inner = inner; Shared = shared; }
public OuterDependency(InnerDependency inner, SharedDependency shared) { Inner = inner; Shared = shared; }