コード例 #1
0
ファイル: RoverTest.cs プロジェクト: rabarba/MarsRover
        public RoverTest()
        {
            var services        = IoCBuilder.ConfigureServices();
            var serviceProvider = services.BuildServiceProvider();

            rover = serviceProvider.GetService <IRover>();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            var container = IoCBuilder.Build();

            using (var scope = container.BeginLifetimeScope())
            {
                var _personService = scope.Resolve <IPersonService>();

                // Demo Cases:

                // _personService.PrintPersonIds();
                // _personService.PrintAllPeople();
                // _personService.PrintAllCities();
                // _personService.PrintPersonById(5);
                // _personService.SavePerson(PersonUtils.CreateValidPerson());
                // _personService.SavePerson(PersonUtils.CreateInvalidPerson());
                // _personService.EditPerson(PersonUtils.CreatePersonForEdit());
                // _personService.EditPerson(PersonUtils.CreatePersonForEdit(3));
                // _personService.DeletePerson(4);

                // Note: You can call any of the first 4 Methods
                // multiple times consecutively, to test if the
                // caching works properly (only 1 of the same query
                // will be fired)
            }
        }
コード例 #3
0
ファイル: Startup.cs プロジェクト: YuraBlackStar/UserApi
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "UserAPI", Version = "v1"
                });
            });
            services.AddControllers().AddControllersAsServices();
            services.AddMemoryCache();


            services.AddCors(o => o.AddPolicy("AllowAll", builder =>
            {
                builder.AllowAnyOrigin()
                .AllowAnyMethod()
                .AllowAnyHeader();
            }));

            //services.AddCors(o => o.AddPolicy("AllowAll",
            // builder =>
            // {
            //     builder
            //         .AllowAnyOrigin()
            //         //.AllowAnyMethod()
            //         //.AllowAnyHeader()
            //         //.AllowCredentials();
            // }));
            IoCBuilder.Build(services, this.Configuration);
        }
コード例 #4
0
        public PlateauCommandHandlerTest()
        {
            var services        = IoCBuilder.ConfigureServices();
            var serviceProvider = services.BuildServiceProvider();

            mediator = serviceProvider.GetService <IMediator>();
        }
コード例 #5
0
 public void Should_resolve_all_IFileParsers_for_CodeMetrics()
 {
     var p = new IoCBuilder();
     var ioc = p.BuildContainer();
     var parsers = ioc.Resolve<IEnumerable<IFileParser<CodeMetrics>>>();
     parsers.ShouldNotBeNull();
     parsers.Count().ShouldBeGreaterThan(0);
 }
コード例 #6
0
ファイル: PlateauTest.cs プロジェクト: rabarba/MarsRover
        public PlateauTest()
        {
            var services        = IoCBuilder.ConfigureServices();
            var serviceProvider = services.BuildServiceProvider();

            plateau = serviceProvider.GetService <IPlateau>();
            rover   = serviceProvider.GetService <IRover>();
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: korkinet/Advanced.NET
        static void Main(string[] args)
        {
            // -------------- Default --------------
            var builder1 = new IoCBuilder();

            builder1.RegisterType <IService, Service>(LifeTime.Default);

            var container1 = builder1.Build();

            var obj1 = container1.Resolve <IService>();
            var obj2 = container1.Resolve <IService>();

            Console.WriteLine($"{nameof(obj1)} = {nameof(obj2)} : {obj1 == obj2}");

            // -------------- Singleton --------------

            var builder2 = new IoCBuilder();

            builder2.RegisterType <IService, Service>(LifeTime.Singleton);

            var container2 = builder2.Build();

            var obj3 = container2.Resolve <IService>();
            var obj4 = container2.Resolve <IService>();

            Console.WriteLine($"{nameof(obj3)} = {nameof(obj4)} : {obj3 == obj4}");

            Console.WriteLine($"{nameof(obj1)} = {nameof(obj3)} : {obj1 == obj3}");

            // -------------- Loaded by path --------------

            var builder3 = new IoCBuilder();

            builder3.RegisterByPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..\\..\\..\\Models\\bin\\Debug"), typeof(object));
            var container3 = builder3.Build();

            var obj5 = container3.Resolve <object[]>();

            Console.WriteLine($"Loaded by path {(obj5 != null ? "succeeded" : "failed")}, number of instances {obj5?.Length}");

            // -------------- Plugin --------------

            try
            {
                var plugins = container3.LoadPlugins(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..\\..\\..\\Plugins\\bin\\Debug"));
                Console.WriteLine($"{plugins.Length} plugins loaded");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Failed to load plugins - {ex.Message}");
                throw;
            }


            Console.ReadLine();
        }
コード例 #8
0
 static void Main(string[] args)
 {
     IoCBuilder.Build();
     var allProducts = new List<ProductVM>();
     var percentagePrices = new List<double>() { PercentageMoneyConstant.USDollar, PercentageMoneyConstant.Euro };
     allProducts.AddRange(productService.GetWithoutPercentage(myDinamycList, MethodConstant.GetAll));
     allProducts.AddRange(productService.GetWithPercentage(myDinamycList, MethodConstant.GetAll, percentagePrices));
     printService.PrintDetailsProducts(allProducts);
     Console.ReadLine();
 }
コード例 #9
0
        static void Main(string[] args)
        {
            Container = IoCBuilder.Build();

            //var view = new MainView(new ViewModel.MainViewModel());

            var view = Container.Resolve <MainView>();

            view.Run();
        }
コード例 #10
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            var mapper = AutomapperConfiguration.Init();

            IoCBuilder.InitWeb(Assembly.GetExecutingAssembly(), mapper);
        }
コード例 #11
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddMvc(opt =>
            {
                opt.RespectBrowserAcceptHeader = true;
            })
            .AddXmlSerializerFormatters();

            IContainer container = IoCBuilder.Builder(services);

            return(container.Resolve <IServiceProvider>());
        }
コード例 #12
0
ファイル: IoCTest.cs プロジェクト: korkinet/Advanced.NET
        public void SingletonInstance()
        {
            var builder = new IoCBuilder();

            builder.RegisterType <IService, Service>(LifeTime.Singleton);

            var container = builder.Build();

            var obj1 = container.Resolve <IService>();
            var obj2 = container.Resolve <IService>();

            Assert.AreEqual(obj1, obj2);
        }
コード例 #13
0
ファイル: IoCTest.cs プロジェクト: korkinet/Advanced.NET
        public void DefaultInstances()
        {
            var builder = new IoCBuilder();

            builder.RegisterType <IService, Service>(LifeTime.Default);

            var container = builder.Build();

            var obj1 = container.Resolve <IService>();
            var obj2 = container.Resolve <IService>();

            Assert.AreNotEqual(obj1, obj2);
        }
コード例 #14
0
ファイル: IoCTest.cs プロジェクト: korkinet/Advanced.NET
        public void LoadedByPath()
        {
            var builder = new IoCBuilder();

            builder.RegisterByPath("..\\..\\..\\Models\\bin\\Debug", typeof(object));

            var container = builder.Build();

            var instances = container.Resolve <object[]>();

            Assert.IsNotNull(instances);
            Assert.AreEqual(instances.Length, 1);
        }
コード例 #15
0
ファイル: Program.cs プロジェクト: indrefi/Maze-Console-Game
        static void Main(string[] args)
        {
            // Adding logger
            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Information()
                         .WriteTo.Console()
                         .WriteTo.File("logs.log")
                         .CreateLogger();

            // Resolving dependencies and initilize application loop.
            var appContainer = IoCBuilder.Build();

            using (var application = appContainer.BeginLifetimeScope())
            {
                application.Resolve <GameUI>();
            }
        }
コード例 #16
0
        /// <summary>
        /// Gets the configuration.
        /// </summary>
        /// <param name="configure">The configure.</param>
        private static void GetConfig(HttpConfiguration configure)
        {
            configure.EnableCors();
            configure.Formatters.Remove(configure.Formatters.XmlFormatter);
            //// Configure JSON output to how we want it
            var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;

            //// camelCase JSON properties
            json.SerializerSettings.ContractResolver      = new CamelCasePropertyNamesContractResolver();
            json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
            configure.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

            configure.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );
            GlobalConfiguration.Configuration.EnsureInitialized();
            IoCBuilder.InitWeb(Assembly.GetExecutingAssembly(), configure);
        }
コード例 #17
0
        /// <summary>
        /// Setups the unity Dependency Injection.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="config">The configuration.</param>
        public void SetupIoC(IAppBuilder app, HttpConfiguration config)
        {
            var ioCBuilder = new IoCBuilder();

            ioCBuilder.Initialize(IoC.Instance);

            IoC.Instance.Register <IClientRouteProvider, ClientRouteProvider>().PerLifetimeScope();
            IoC.Instance.Register <IJsResourcesProvider, JsResourcesProvider>().PerLifetimeScope();
            IoC.Instance.Register <IClientConfigProvider, ClientConfigProvider>().PerLifetimeScope();

            IoC.Instance.RegisterMvc(GetType().Assembly);
            IoC.Instance.RegisterWebApi(GetType().Assembly);

            IoC.Instance.Build();

            DependencyResolver.SetResolver(new IoCMvcDependencyResolver());
            config.DependencyResolver = new IoCWebApiDependencyResolver();

            app.UseIoCMiddleware(config);
        }
コード例 #18
0
ファイル: Program.cs プロジェクト: korkinet/Advanced.NET
        static void Main(string[] args)
        {
            var builder1 = new IoCBuilder();

            builder1.RegisterType <IService, Service>(LifeTime.Default);

            var container1 = builder1.Build();

            var obj1 = container1.Resolve <IService>();
            var obj2 = container1.Resolve <IService>();

            Console.WriteLine($"{nameof(obj1)} = {nameof(obj2)} : {obj1 == obj2}");

            var builder2 = new IoCBuilder();

            builder2.RegisterType <IService, Service>(LifeTime.Singleton);

            var container2 = builder2.Build();

            var obj3 = container2.Resolve <IService>();
            var obj4 = container2.Resolve <IService>();

            Console.WriteLine($"{nameof(obj3)} = {nameof(obj4)} : {obj3 == obj4}");

            Console.WriteLine($"{nameof(obj1)} = {nameof(obj3)} : {obj1 == obj3}");


            var builder3 = new IoCBuilder();

            builder3.RegisterByPath($"{AppDomain.CurrentDomain.BaseDirectory}..\\..\\..\\..\\Models\\bin\\Debug\\netcoreapp2.0", typeof(object));
            var container3 = builder3.Build();

            var obj5 = container3.Resolve <object[]>();

            Console.ReadLine();
        }
コード例 #19
0
 public void InitializeTest()
 {
     IoCBuilder.Build();
 }
コード例 #20
0
 public void Should_register_services()
 {
     var p = new IoCBuilder();
     var ioc = p.BuildContainer();
     ioc.Resolve<ICrapService>().ShouldNotBeNull();
 }
コード例 #21
0
 protected void Application_Start(object sender, EventArgs e)
 {
     GlobalConfiguration.Configure(WebApiConfig.Register);
     IoCBuilder.InitWeb(Assembly.GetExecutingAssembly(), GlobalConfiguration.Configuration);
 }
コード例 #22
0
ファイル: Program.cs プロジェクト: MorganPersson/crap4n
 private IContainer GetContainer()
 {
     var iocBuilder = new IoCBuilder();
     var container = iocBuilder.BuildContainer();
     return container;
 }