public ViewModelLocator() { var container = new ContainerBuilder(); container.RegisterInstance(App.MainFrame).As <Frame>(); container.RegisterType <ScenarioStorer>() .AsSelf() .AsImplementedInterfaces() .SingleInstance(); container.RegisterType <PageNavigationService>(); container.RegisterType <MainPageViewModel>(); container.RegisterType <ScenePageViewModel>(); container.RegisterType <MainViewModel>(); container.RegisterType <DescisionPageViewModel>(); container.RegisterType <MainPage>(); container.RegisterType <ScenePage>(); container.RegisterInstance <IPageNavigationService>(App.pageNavigation); container.RegisterInstance(new FormatConverter()).As <IFormatConvert>(); var con = container.Build(); var cs1 = new AutofacServiceLocator(con); ServiceLocator.SetLocatorProvider(() => cs1); }
public static void ConfigureDependencyInjection(HttpConfiguration config) { var builder = new ContainerBuilder(); // Register your Web API controllers. builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterModule <AutoFacModule>(); // OPTIONAL: Register the Autofac filter provider. builder.RegisterWebApiFilterProvider(config); // OPTIONAL: Register the Autofac model binder provider. builder.RegisterWebApiModelBinderProvider(); builder.RegisterMediatR(MediatRConfiguration.GetAssemblies()); // Set the dependency resolver to be Autofac. var container = builder.Build(); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); var autofacServiceLocator = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => autofacServiceLocator); }
public void Start(Action <IWindowViewModel>?mainWindowOptions = null) { var configuration = configurationBuilder.Build(); containerBuilder.RegisterInstance(configuration).As <IConfiguration>(); container = containerBuilder.Build(); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); startupFactory?.Invoke(container.Resolve <IShell>(), container.Resolve <IConfiguration>(), container)?.Start(); appBuilder.Start(StartApplication, args); void StartApplication(Application app, string[] args) { var mainWindowViewModel = container.Resolve <MainWindowViewModel>(); mainWindowOptions?.Invoke(mainWindowViewModel); var window = new MainWindowView() { DataContext = mainWindowViewModel, }; app.Run(window); } }
private static void InitializeAutofacContainer() { var builder = new ContainerBuilder(); var executingAssembly = Assembly.GetExecutingAssembly(); string executionPath = Path.GetDirectoryName(executingAssembly.Location); List <Assembly> allAssemblies = new List <Assembly> { executingAssembly }; foreach (string dll in Directory.GetFiles(executionPath, "*.dll")) { allAssemblies.Add(Assembly.LoadFile(dll)); } // Perform registrations and build the container. builder.RegisterAssemblyModules(allAssemblies.ToArray()); var container = builder.Build(); // Set the service locator to an AutofacServiceLocator. var autofacServiceLocator = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => autofacServiceLocator); }
static ViewModelLocator() { var builder = new ContainerBuilder(); var platformService = DependencyService.Get <IPlatformService>(); var navigationService = GetNavigationService(); var cardsDatabaseFilePath = platformService.GetCardsDatabaseFilePath(); var decksDatabaseFilePath = platformService.GetDecksDatabaseFilePath(); builder.Register(c => new LocalDataService(cardsDatabaseFilePath, decksDatabaseFilePath)).As <IDataService>().InstancePerLifetimeScope(); builder.Register(c => new CardImageService()).As <ICardImageService>(); builder.Register(c => platformService.CreateDialogServiceInstance()).As <GalaSoft.MvvmLight.Views.IDialogService>(); builder.Register(c => navigationService).As <INavigationService>(); builder.RegisterType <AddDeckViewModel>().AsSelf(); builder.RegisterType <CardDetailViewModel>().AsSelf(); builder.RegisterType <DecksViewModel>().AsSelf(); builder.RegisterType <MainViewModel>().AsSelf(); builder.RegisterType <SearchCardViewModel>().AsSelf(); Container = builder.Build(); var serviceLocator = new AutofacServiceLocator(Container); ServiceLocator.SetLocatorProvider(() => serviceLocator); }
public static void Initialize(IAppBuilder app) { var builder = new ContainerBuilder(); // REGISTER DEPENDENCIES builder.RegisterModule(new AutofacRegistration()); builder.RegisterModule(new AutofacBlRegistration()); builder.RegisterModule(new AutofacDalRegistration()); builder.RegisterModule(new AutofacInfrastructureRegistration()); builder.RegisterType <ApplicationUserManager>().AsSelf().InstancePerRequest(); builder.RegisterType <UserIdentityService <AppMember> >().As <IUserStore <AppMember, int> >().InstancePerRequest(); builder.RegisterType <ApplicationSignInManager>().AsSelf().InstancePerRequest(); builder.Register <IAuthenticationManager>(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest(); builder.Register <IDataProtectionProvider>(c => app.GetDataProtectionProvider()).InstancePerRequest(); // REGISTER CONTROLLERS SO DEPENDENCIES ARE CONSTRUCTOR INJECTED builder.RegisterControllers(typeof(MvcApplication).Assembly); // BUILD THE CONTAINER var container = builder.Build(); // REPLACE THE MVC DEPENDENCY RESOLVER WITH AUTOFAC DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); // REGISTER WITH OWIN app.UseAutofacMiddleware(container); }
public void Configuration(IAppBuilder app) { var builder = new ContainerBuilder(); builder.RegisterAssemblyTypes(Assembly.Load("BuroBeauty.Repositories.Implementation")) .Where(t => t.Name.EndsWith("Repository") || t.Name.EndsWith("Provider")) .AsImplementedInterfaces() .PropertiesAutowired(); builder.RegisterAssemblyTypes(Assembly.Load("BuroBeauty.BLL.Implementation")) .Where(t => t.Name.EndsWith("Manager")) .AsImplementedInterfaces() .PropertiesAutowired(); // MVC Setup builder.RegisterControllers(typeof(MvcApplication).Assembly).PropertiesAutowired(); builder.RegisterFilterProvider(); var container = builder.Build(); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); var config = GlobalConfiguration.Configuration; DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); ConfigureAuth(app); }
public static void Initialize() { if (_container == null) { //var serviceProvider = new ServiceCollection() // .BuildServiceProvider(); var builder = new ContainerBuilder(); builder.RegisterModule(new DataModule()); builder.RegisterModule(new ServicesModule()); builder.RegisterModule(new ProviderModule()); builder.RegisterModule(new EmailProviderModule()); builder.RegisterModule(new WorkerFrameworkModule()); builder.RegisterModule(new BusModule()); builder.RegisterModule(new RabbitBusModule()); builder.RegisterModule(new AddressVerificationModule()); builder.RegisterModule(new NumbersProviderModule()); builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); builder.RegisterModule(new AudioProviderModule()); builder.RegisterModule(new FirebaseProviderModule()); _container = builder.Build(); Locator = new AutofacServiceLocator(_container); ServiceLocator.SetLocatorProvider(() => Locator); } }
protected void Application_Start() { // Register MVC-related dependencies. var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Assembly); builder.RegisterModelBinders(typeof(MvcApplication).Assembly); builder.RegisterModelBinderProvider(); // Register the EntLib classes. builder.RegisterEnterpriseLibrary(); // Set the MVC dependency resolver to use Autofac. var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); // Set the EntLib service locator to use Autofac. var autofacLocator = new AutofacServiceLocator(container); EnterpriseLibraryContainer.Current = autofacLocator; // Finish initialization of MVC-related items. AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); }
public static void Initialize() { var builder = new ContainerBuilder(); // Register View Models builder.RegisterType <AlertListViewModel>().AsSelf(); builder.RegisterType <ApiViewModel>().AsSelf(); builder.RegisterType <ExchangeViewModel>().AsSelf(); builder.RegisterType <PortfolioViewModel>().AsSelf(); builder.RegisterType <WatchListViewModel>().AsSelf(); // Regiseter Builders builder.RegisterType <AlertBuilder>().As <IAlertBuilder>(); builder.RegisterType <CoinBuilder>().As <ICoinBuilder>(); builder.RegisterType <CoinBuyBuilder>().As <ICoinBuyBuilder>(); builder.RegisterType <CurrencyBuilder>().As <ICurrencyBuilder>(); builder.RegisterType <ExchangeApiBuilder>().As <IExchangeApiBuilder>(); builder.RegisterType <ExchangeCoinBuilder>().As <IExchangeCoinBuilder>(); builder.RegisterType <ExchangeHubBuilder>().As <IExchangeHubBuilder>(); builder.RegisterType <ExchangeOrderBuilder>().As <IExchangeOrderBuilder>(); builder.RegisterType <WatchBuilder>().As <IWatchBuilder>(); IContainer container = builder.Build(); var asl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => asl); }
public static Autofac.IContainer RegisterDeps() { var builder = new ContainerBuilder(); RegisterMaps(builder); builder.RegisterType <LoginViewModel>().AsSelf(); builder.RegisterType <CommessaViewModel>().AsSelf(); builder.RegisterType <SettingsViewModel>().AsSelf(); builder.RegisterType <BarcodeViewModel>().AsSelf(); builder.RegisterType <BaseViewModel>().AsSelf(); builder.RegisterType <PhotoViewModel>().AsSelf(); builder.RegisterType <PhotoUploadViewModel>().AsSelf(); builder.RegisterType <PhotoCarouselViewModel>().AsSelf(); builder.RegisterType <InconvenienteViewModel>().AsSelf(); builder.RegisterType <InconvenienteExtraViewModel>().AsSelf(); builder.RegisterType <SettingsApp>().AsSelf(); builder.RegisterType <ApiServices>().AsSelf(); builder.RegisterType <Logger>().AsSelf(); builder.RegisterType <HistoryNotesPageViewModel>().AsSelf(); builder.RegisterType <GestioneNoteViewModel>().AsSelf(); var container = builder.Build(); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); return(container); }
/// <summary> /// 获取IServiceLocator(重复调用最多只会执行一次Build操作) /// </summary> public IServiceLocator BuildServiceLocator() { if (_serviceLocator == null) { lock (_lock) { if (_serviceLocator == null) { if (_autofacRegList != null) { foreach (var autofacReg in _autofacRegList) { autofacReg.Register(ContainerBuilder); } } //生成容器 Container = ContainerBuilder.Build(); var serviceLocator = new AutofacServiceLocator(Container); //设置通用IOC适配器 ServiceLocator.SetLocatorProvider(() => serviceLocator); _serviceLocator = serviceLocator; } } } return(_serviceLocator); }
/// <summary> /// Initializes a new instance of the ViewModelLocator class. /// </summary> public ViewModelLocator() { var builder = new ContainerBuilder(); builder .RegisterAssemblyTypes(Assembly.GetAssembly(typeof(MainViewModel))) .PublicOnly() .AsImplementedInterfaces() .AsSelf(); var container = builder.Build(); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); ////if (ViewModelBase.IsInDesignModeStatic) ////{ //// // Create design time view services and models //// SimpleIoc.Default.Register<IDataService, DesignDataService>(); ////} ////else ////{ //// // Create run time view services and models //// SimpleIoc.Default.Register<IDataService, DataService>(); ////} }
public void SetServiceLocator(IContainer iocContainer) { // Set the service locator to an AutofacServiceLocator. var csl = new AutofacServiceLocator(iocContainer); ServiceLocator.SetLocatorProvider(() => csl); }
public static void Register(HttpConfiguration config) { // Json settings config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); config.Formatters.JsonFormatter.SerializerSettings.Formatting = Formatting.Indented; JsonConvert.DefaultSettings = () => new JsonSerializerSettings() { ContractResolver = new CamelCasePropertyNamesContractResolver(), Formatting = Newtonsoft.Json.Formatting.Indented, NullValueHandling = NullValueHandling.Ignore, }; //Associate bot with DB on Azure SetupBotDataStore(); // Web API configuration and services var container = RegisterDependencies(new ContainerBuilder()); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); }
protected override void Load(ContainerBuilder builder) { //Dominio builder.RegisterType <UsuarioService>().As <IUsuarioService>().InstancePerLifetimeScope(); builder.RegisterType <SalaService>().As <ISalaService>().InstancePerLifetimeScope(); builder.RegisterType <SalaAgendamentoService>().As <ISalaAgendamentoService>().InstancePerLifetimeScope(); //Infra Data builder.RegisterType <UsuarioRepository>().As <IUsuarioRepository>().InstancePerLifetimeScope(); builder.RegisterType <SalaRepository>().As <ISalaRepository>().InstancePerLifetimeScope(); builder.RegisterType <SalaAgendamentoRepository>().As <ISalaAgendamentoRepository>().InstancePerLifetimeScope(); //Aplicação builder.RegisterType <UsuarioAppService>().As <IUsuarioAppService>().InstancePerLifetimeScope(); builder.RegisterType <SalaAppService>().As <ISalaAppService>().InstancePerLifetimeScope(); builder.RegisterType <SalaAgendamentoAppService>().As <ISalaAgendamentoAppService>().InstancePerLifetimeScope(); var locatorBuilder = new ContainerBuilder(); locatorBuilder.RegisterType <SalaAgendamentoService>().As <ISalaAgendamentoService>().InstancePerLifetimeScope(); locatorBuilder.RegisterType <SalaAgendamentoRepository>().As <ISalaAgendamentoRepository>().InstancePerLifetimeScope(); locatorBuilder.RegisterType <SalaService>().As <ISalaService>().InstancePerLifetimeScope(); locatorBuilder.RegisterType <SalaRepository>().As <ISalaRepository>().InstancePerLifetimeScope(); locatorBuilder.RegisterType <UsuarioService>().As <IUsuarioService>().InstancePerLifetimeScope(); locatorBuilder.RegisterType <UsuarioRepository>().As <IUsuarioRepository>().InstancePerLifetimeScope(); var container = locatorBuilder.Build(); var locator = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => locator); }
private void Build() { var builder = new ContainerBuilder(); // Register dependencies. builder.RegisterType <AuthService>().As <IAuthService>().InstancePerLifetimeScope(); builder.RegisterType <UserService>().As <IUserService>().InstancePerLifetimeScope(); builder.RegisterType <FaunaDbAuthRepository>().As <IAuthRepository>().InstancePerLifetimeScope(); builder.RegisterType <FaunaDbUserRepository>().As <IUserRepository>().InstancePerLifetimeScope(); builder.RegisterType <FaunaClient>().SingleInstance().WithParameter("secret", Config.FaunaSecret) .WithParameter("domain", Config.FaunaHost).WithParameter("scheme", Config.FaunaScheme).WithParameter("port", Config.FaunaPort); var container = builder.Build(); // Create service locator. var csl = new AutofacServiceLocator(container); // Set the service locator created. Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(() => csl); // Use the service locator. this.Instance = Microsoft.Practices.ServiceLocation.ServiceLocator.Current; }
private static void SetServiceLocator(IContainer container) { // Set the service locator to an AutofacServiceLocator. var serviceLocator = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => serviceLocator); }
/// <summary> /// Registers dependencies with an IoC container. /// </summary> /// <remarks> /// Since some of our libraries are shared between the Forms and Native versions /// of this app, we're using an IoC/DI framework to provide access across implementations. /// </remarks> void RegisterDependencies() { var builder = new ContainerBuilder(); builder.RegisterInstance(new EnvironmentService()).As <IEnvironmentService>(); builder.RegisterInstance(new HttpClientHandlerFactory()).As <IHttpClientHandlerFactory>(); builder.RegisterInstance(new DatastoreFolderPathProvider()).As <IDatastoreFolderPathProvider>(); builder.RegisterInstance(new DataSyncConflictMessagePresenter()).As <IDataSyncConflictMessagePresenter>(); // Set the data source dependent on whether or not the data parition phrase is "UseLocalDataSource". // The local data source is mainly for use in TextCloud test runs, but the app can be used in local-only data mode if desired. if (Settings.IsUsingLocalDataSource) { builder.RegisterInstance(new FilesystemOnlyAcquaintanceDataSource()).As <IDataSource <Acquaintance> >(); } else { builder.RegisterInstance(new AzureAcquaintanceSource()).As <IDataSource <Acquaintance> >(); } _IoCContainer = builder.Build(); var csl = new AutofacServiceLocator(_IoCContainer); ServiceLocator.SetLocatorProvider(() => csl); }
protected static void ConfigureServices() { var builder = new ContainerBuilder(); builder .RegisterType <TuringFormat>() .AsImplementedInterfaces() .SingleInstance(); builder .RegisterType <OpenFileDialogService>() .AsImplementedInterfaces() .SingleInstance(); builder .RegisterType <SaveFileDialogService>() .AsImplementedInterfaces() .SingleInstance(); builder .RegisterType <ErrorDialogService>() .AsImplementedInterfaces() .SingleInstance(); builder .RegisterType <MainViewModel>() .AsSelf() .InstancePerLifetimeScope(); var container = builder.Build(); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); }
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureHostConfiguration(builder => { }) .ConfigureAppConfiguration((context, builder) => { builder.AddJsonFile("appsettings.json", optional: true); builder.AddEnvironmentVariables(); if (args != null) { builder.AddCommandLine(args); } }) .ConfigureServices((context, collection) => { collection.AddOptions(); collection.Configure <AppConfig>(context.Configuration.GetSection("AppConfig")); ConfigurationBuilder config = new ConfigurationBuilder(); config.AddJsonFile("autofac.config.json"); ConfigurationModule module = new ConfigurationModule(config.Build()); ContainerBuilder builder = new ContainerBuilder(); builder.Populate(collection); builder.RegisterModule(module); builder.RegisterType <App>().As <IHostedService>().SingleInstance(); IContainer appContainer = builder.Build(); AutofacServiceLocator locator = new AutofacServiceLocator(appContainer); ServiceLocator.SetLocatorProvider(() => locator); }) .ConfigureLogging((context, builder) => builder.AddConsole().AddSerilog());
public static IContainer Configure() { var builder = new ContainerBuilder(); //Models builder.RegisterType <LedModel>().As <ILedConfiguration>(); builder.RegisterType <ConfigModel>().As <IConfigurationModel>(); builder.RegisterType <DataService>().As <IDataServiceProvider>(); builder.RegisterType <MessagingCenter>().As <IMessagingCenter>(); builder.RegisterType <GraphService>().As <IGraphServiceProvider>(); builder.RegisterType <IoCServerService>().As <IServerService>(); //Taking in consideration Microsoft docs HttpClient should be instatiented once per app lifecycle builder.Register(c => new HttpClient()).As <HttpClient>().SingleInstance(); //ViewModels builder.RegisterType <SettingsViewModel>().AsSelf(); builder.RegisterType <LedViewModel>().AsSelf(); builder.RegisterType <MainViewModel>().AsSelf(); builder.RegisterType <GraphViewModel>().AsSelf(); builder.RegisterType <JoystickViewModel>().AsSelf(); builder.RegisterType <DataListViewModel>().AsSelf(); IContainer container = builder.Build(); //Setting services locator to abstract ViewModels creation using Autofac //Due to Xamarin architecture the only way i've found to do this AutofacServiceLocator asl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => asl); return(container); }
static ViewModelLocator() { FileService s = new FileService(); var builder = new ContainerBuilder(); builder.RegisterType <MainViewModel>().SingleInstance(); builder.RegisterType <HomeViewModel>().SingleInstance(); builder.RegisterType <RecentViewModel>(); builder.RegisterType <GameDetailViewModel>(); builder.RegisterType <LoadViewModel>(); var navigation = SetupNavigation(); DisplayRootRegistry rootRegistry = new DisplayRootRegistry(); rootRegistry.RegisterWindowType <FileSelectViewModel, View.FileSelectWindow>(); builder.RegisterInstance <DisplayRootRegistry>(rootRegistry); builder.RegisterInstance <IFrameNavigationService>(navigation); builder.RegisterType <WebRestRepository>().As <IRepository>().SingleInstance(); var container = builder.Build(); // Set the service locator to an AutofacServiceLocator. var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); SetupNavigation(); }
public static void Init() { //Create the builder var builder = new ContainerBuilder(); //Register the services builder.RegisterType <NavService>().As <INavService>().SingleInstance(); builder.RegisterType <HttpService>().As <IHttpService>().SingleInstance(); builder.RegisterType <DialogService>().As <IDialogService>().SingleInstance(); //Register the view models builder.RegisterType <AssetDetailViewModel>(); builder.RegisterType <AssetsViewModel>(); //Build the container container = builder.Build(); AutofacServiceLocator autofacServiceLocator = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => autofacServiceLocator); // Register view mappings var navService = Resolve <INavService>() as NavService; navService.RegisterViewMapping(typeof(AssetDetailViewModel), typeof(AssetDetailPage)); navService.RegisterViewMapping(typeof(AssetsViewModel), typeof(AssetsPage)); }
public static void Initialize(IServiceCollection services) { if (_container == null) { var builder = new ContainerBuilder(); builder.RegisterModule(new DataModule()); builder.RegisterModule(new ServicesModule()); builder.RegisterModule(new ProviderModule()); builder.RegisterModule(new EmailProviderModule()); builder.RegisterModule(new BusModule()); builder.RegisterModule(new AddressVerificationModule()); builder.RegisterModule(new NumbersProviderModule()); builder.RegisterModule(new CacheProviderModule()); builder.RegisterModule(new MarketingModule()); builder.RegisterModule(new PdfProviderModule()); builder.RegisterModule(new AudioProviderModule()); builder.RegisterModule(new FirebaseProviderModule()); if (services != null) { builder.Populate(services); } _container = builder.Build(); // Prime these Singletons var eventAggregator = _container.Resolve <IEventAggregator>(); var outbound = _container.Resolve <IOutboundEventProvider>(); var eventService = _container.Resolve <ICoreEventService>(); _locator = new AutofacServiceLocator(_container); ServiceLocator.SetLocatorProvider(() => _locator); } }
public void when_initializing_a_new_instance_with_a_null_container_it_should_throw_an_argument_null_exception() { AutofacServiceLocator sut = null; Action initializing = () => sut = new AutofacServiceLocator(null); initializing.ShouldThrow<ArgumentNullException>() .WithMessage(AutofacServiceLocator.ContainerNullErrorMessage, ComparisonMode.Substring) .WithMessage("container", ComparisonMode.Substring); }
private void ConfigureCommonServiceLocator() { var container = CreateContainer(); var csl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => csl); }
} // App ctor /// <summary>Инициализация зависимостей.</summary> public void InitializeDependencies() { var builder = new ContainerBuilder(); builder.RegisterModule(new MainModule()); var locator = new AutofacServiceLocator(builder.Build()); ServiceLocator.SetLocatorProvider(() => locator); } // InitializeDependencies
public App(IThemeChanger themeChanger) { InitializeComponent(); Theme = new ColorTheme(themeChanger); Theme.ApplyColorTheme(); if (Device.RuntimePlatform == Device.iOS || Device.RuntimePlatform == Device.Android) { var ci = DependencyService.Get <ILocalize>().GetCurrentCultureInfo(); AppResources.Culture = ci; DependencyService.Get <ILocalize>().SetLocale(ci); } var containerBuilder = new ContainerBuilder(); // Register data provider. Mock data provider is used in DebugMock build configuration #if DEBUGMOCK containerBuilder.RegisterType <MockDataProvider>().As(typeof(IDataProvider)).SingleInstance(); #else var firebaseConfigurationOptions = Options.Create <FirebaseConfiguration>(new FirebaseConfiguration() { Enabled = true }); containerBuilder.RegisterInstance(firebaseConfigurationOptions).As(typeof(IOptions <FirebaseConfiguration>)).SingleInstance(); containerBuilder.RegisterType <FirebaseDataProvider>().As(typeof(IDataProvider)).SingleInstance(); #endif containerBuilder.RegisterType <DatabaseManagementService>().As(typeof(IDatabaseManagementService)).SingleInstance(); // Register services containerBuilder.RegisterType <LocationDataService>().As(typeof(IDataService <Models.Location>)).SingleInstance(); containerBuilder.RegisterType <HistoryDataService>().As(typeof(IDataService <MeasurementHistory>)).SingleInstance(); containerBuilder.RegisterType <NavigationService>().As(typeof(INavigationService)).SingleInstance(); // Register view models containerBuilder.RegisterType <LocationListViewModel>().As(typeof(LocationListViewModel)).SingleInstance().AutoActivate(); containerBuilder.RegisterType <LocationGraphViewModel>().As(typeof(LocationGraphViewModel)).SingleInstance().AutoActivate(); containerBuilder.RegisterType <LocationDetailsViewModel>().As(typeof(LocationDetailsViewModel)).SingleInstance().AutoActivate(); containerBuilder.RegisterType <OptionsGeneralViewModel>().As(typeof(OptionsGeneralViewModel)).SingleInstance(); containerBuilder.RegisterType <OptionsSummaryViewModel>().As(typeof(OptionsSummaryViewModel)).SingleInstance(); containerBuilder.RegisterType <OptionsWidgetViewModel>().As(typeof(OptionsWidgetViewModel)).SingleInstance(); containerBuilder.RegisterType <AboutViewModel>().As(typeof(AboutViewModel)).SingleInstance(); var container = containerBuilder.Build(); //container.Resolve<LocationListViewModel>(); var dbManagementService = container.Resolve <IDatabaseManagementService>(); dbManagementService.SetDatabaseConfiguration(); AutofacServiceLocator asl = new AutofacServiceLocator(container); ServiceLocator.SetLocatorProvider(() => asl); MainPage = new AppShell(); }
public void when_initializing_a_new_instance_with_a_null_container_it_should_throw_an_argument_null_exception() { AutofacServiceLocator sut = null; Action initializing = () => sut = new AutofacServiceLocator(null); initializing.ShouldThrow <ArgumentNullException>() .WithMessage(AutofacServiceLocator.ContainerNullErrorMessage, ComparisonMode.Substring) .WithMessage("container", ComparisonMode.Substring); }
public MainViewModel() { var localIoc = new AutofacServiceLocator(new Bootstrapper().BootStrap()); var addShapeCommandFactory = localIoc.GetInstance <Func <ObservableCollection <ShapeViewModel>, AddShapeCommand> >(); var removeShapeCommandFactory = localIoc.GetInstance <Func <ObservableCollection <ShapeViewModel>, RemoveShapeCommand> >(); AddShapeCommand = addShapeCommandFactory(Shapes); RemoveShapeCommand = removeShapeCommandFactory(Shapes); }
public AutofacTests() { var builder = new ContainerBuilder(); builder.RegisterSource(new ContravariantRegistrationSource()); builder.RegisterAssemblyTypes(typeof(A).Assembly).AsImplementedInterfaces(); builder.RegisterAssemblyTypes(typeof(A).Assembly).AsClosedTypesOf(typeof(B<>)); builder.RegisterAssemblyTypes(typeof(A).Assembly).AsClosedTypesOf(typeof(D<>)); builder.RegisterAssemblyTypes(typeof(A).Assembly).AsClosedTypesOf(typeof(E<,>)); builder.RegisterAssemblyTypes(typeof(A).Assembly).AsClosedTypesOf(typeof(F<,>)); ServiceLocator = new AutofacServiceLocator(builder.Build()); }
public void can_create_new_default_instance() { var sut = new AutofacServiceLocator(); sut.Should().NotBeNull(); }
public void can_initialize_a_new_instance_with_a_existing_container() { var sut = new AutofacServiceLocator(new ContainerBuilder().Build()); sut.Should().NotBeNull(); }