From 48b273c9b279ccbcce8aa45c3eda3666f3d93b2e Mon Sep 17 00:00:00 2001 From: David Britch Date: Mon, 19 Feb 2018 16:48:34 +0000 Subject: [PATCH] Rely on TinyIoC defaults to register interface mappings as singletons. --- .../ViewModels/Base/ViewModelLocator.cs | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs index 22b8bc99d..9548583bb 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs @@ -42,11 +42,11 @@ namespace eShopOnContainers.Core.ViewModels.Base { _container = new TinyIoCContainer(); - // View models + // View models - by default, TinyIoC will register concrete classes as multi-instance. _container.Register(); _container.Register(); _container.Register(); - _container.Register(); + _container.Register().AsSingleton(); _container.Register(); _container.Register(); _container.Register(); @@ -54,21 +54,21 @@ namespace eShopOnContainers.Core.ViewModels.Base _container.Register(); _container.Register(); - // Services - _container.Register().AsSingleton(); + // Services - by default, TinyIoC will register interface registrations as singletons. + _container.Register(); _container.Register(); _container.Register(); _container.Register(); - _container.Register(); + _container.Register().AsMultiInstance(); _container.Register(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); } public static void UpdateDependencies(bool useMockServices) @@ -76,21 +76,21 @@ namespace eShopOnContainers.Core.ViewModels.Base // Change injected dependencies if (useMockServices) { - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); UseMockService = true; } else { - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); - _container.Register().AsSingleton(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); + _container.Register(); UseMockService = false; }