private void RegisterComplex() { IFirstService firstService = new FirstService(); ISecondService secondService = new SecondService(); IThirdService thirdService = new ThirdService(); this.container[typeof(IFirstService)] = () => firstService; this.container[typeof(ISecondService)] = () => secondService; this.container[typeof(IThirdService)] = () => thirdService; this.container[typeof(IComplex1)] = () => new Complex1( firstService, secondService, thirdService, new SubObjectOne(firstService), new SubObjectTwo(secondService), new SubObjectThree(thirdService)); this.container[typeof(IComplex2)] = () => new Complex2( firstService, secondService, thirdService, new SubObjectOne(firstService), new SubObjectTwo(secondService), new SubObjectThree(thirdService)); this.container[typeof(IComplex3)] = () => new Complex3( firstService, secondService, thirdService, new SubObjectOne(firstService), new SubObjectTwo(secondService), new SubObjectThree(thirdService)); }
public void TwoLevelTransaction() { Post.DeleteAll(); Blog.DeleteAll(); FirstService service = container.Resolve <FirstService>(); service.CreateBlogAndPost(); Assert.AreEqual(1, Blog.FindAll().Length); Assert.AreEqual(1, Post.FindAll().Length); }
public void TwoLevelTransaction() { Post.DeleteAll(); Blog.DeleteAll(); FirstService service = (FirstService)container[typeof(FirstService)]; service.CreateBlogAndPost(); Assert.AreEqual(1, Blog.FindAll().Length); Assert.AreEqual(1, Post.FindAll().Length); }
private static void RegisterComplex() { var firstService = new FirstService(); var secondService = new SecondService(); var thirdService = new ThirdService(); Injector.SetResolver <IFirstService>(() => firstService); Injector.SetResolver <ISecondService>(() => secondService); Injector.SetResolver <IThirdService>(() => thirdService); Injector.SetResolver <ISubObjectOne, SubObjectOne>(); Injector.SetResolver <ISubObjectTwo, SubObjectTwo>(); Injector.SetResolver <ISubObjectThree, SubObjectThree>(); Injector.SetResolver <IComplex, Complex>(); }
public void TwoLevelTransaction() { Post.DeleteAll(); Blog.DeleteAll(); FirstService service = container.Resolve <FirstService>(); using (new SessionScope()) { Blog.FindAll(); // side effects only service.CreateBlogAndPost(); } Assert.AreEqual(1, Blog.FindAll().Length); Assert.AreEqual(1, Post.FindAll().Length); }
public void TwoLevelTransaction2() { Post.DeleteAll(); Blog.DeleteAll(); FirstService service = container.Resolve <FirstService>(); try { service.CreateBlogAndPost2(); } catch (Exception) { } Assert.AreEqual(0, Blog.FindAll().Length); Assert.AreEqual(0, Post.FindAll().Length); }
public void SingltonIsNotDisposedAfterSubContainerDisposal() { ContainerBuilder cb = new ContainerBuilder(); cb.Register <FirstService>(LifecycleType.Singleton); IContainer root = cb.Build(); IScope child = root.NewScope(); FirstService fs = child.Resolve <FirstService>(); child.Dispose(); Assert.False(fs.IsDisposed); root.Dispose(); Assert.True(fs.IsDisposed); }
public void TwoLevelTransaction2() { Post.DeleteAll(); Blog.DeleteAll(); FirstService service = (FirstService)container[typeof(FirstService)]; using (new SessionScope()) { Blog.FindAll(); // side effects only try { service.CreateBlogAndPost2(); } catch (Exception) { } } Assert.AreEqual(0, Blog.FindAll().Length); Assert.AreEqual(0, Post.FindAll().Length); }
public IFirstService ProvideFirstService(FirstService service) { return(service); }
public IFirstService ProvideFirstService(FirstService service) => service;
public MainWindow(FirstService firstService, Logger <App> logger) { logger.LogCritical("Test"); InitializeComponent(); }
public WebController(FirstService firstService) { this.firstService = firstService; }
// ReSharper disable UnusedParameter.Local public ThirdService(FirstService firstService, SecondService secondService) { }
public RestController(FirstService firstService) { this.firstService = firstService; }
// At the moment the order of the paramaters is relevant. Add the custom ones (provided by the Create method) before the ones from the resolver public Consumer3(string additional, FirstService service) { this.service = service; this.additional = additional; }