Beispiel #1
0
        private static void ConfigureServices(IConfigurationRoot config, IServiceCollection services)
        {
            services.AddLogging(config =>
            {
                config.AddDebug(); // Log to debug (debug window in Visual Studio or any debugger attached)
                config.AddConsole(o =>
                {
                    o.IncludeScopes = false;
                    o.DisableColors = false;
                }); // Log to console (colored !)
            })
            .Configure <LoggerFilterOptions>(options =>
            {
                options.AddFilter <DebugLoggerProvider>(null /* category*/, LogLevel.Information /* min level */);
                options.AddFilter <ConsoleLoggerProvider>(null /* category*/, LogLevel.Information /* min level */);

                // Comment this line to see all internal DEM.Net logs
                //options.AddFilter<ConsoleLoggerProvider>("DEM.Net", LogLevel.Information);
            });

            services.AddOptions();
            services.Configure <AppSecrets>(config.GetSection(nameof(AppSecrets)));


            services.AddScoped <SketchFab.SketchFabApi>();
            services.AddSingleton <SketchFabSample>();
        }
        public void Setup()
        {
            lastResult = "";

            ctxbld = new DbContextOptionsBuilder();

            services = new ServiceCollection();

            config = new ConfigurationBuilder()
                     .SetBasePath(Directory.GetCurrentDirectory())
                     .AddJsonFile("configuration.json")
                     .Build();

            connection = config.GetConnectionString("AppDbContext");

            // For services testing.
            services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer(connection));
            services.AddLogging(config =>
            {
                config.AddConsole(opts =>
                {
                    opts.IncludeScopes = true;
                });
                config.AddDebug();
            });

            // For HTTP testing.
            services.AddOptions();
            services.AddHttpClient();

            // App configurstions
            services.Configure <AppConfiguration>(config.GetSection("AppSettings"));

            // Build container services pipelines
            serviceProvider = services.BuildServiceProvider();

            // Obtain instances of container services.
            httpClientFactory = serviceProvider.GetService <IHttpClientFactory>();
            appConfiguration  = serviceProvider.GetService <IOptions <AppConfiguration> >();

            dbctxt   = serviceProvider.GetService <ApplicationDbContext>();
            logger   = serviceProvider.GetService <ILogger <BookService> >();
            eventBus = serviceProvider.GetService <IEventBus>();
        }