예제 #1
0
        public void ConfigureServices(IServiceCollection services)
        {
            // Build config
            IConfigurationRoot configuration = new ConfigurationBuilder()
                                               .SetBasePath(Directory.GetCurrentDirectory())
                                               .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                                               .AddEnvironmentVariables()
                                               .Build();

            services.AddLogging(logging =>
            {
                logging.AddConfiguration(configuration.GetSection("Logging"));
                logging.AddDebug();
                logging.AddConsole();
            }).Configure <LoggerFilterOptions>(options => options.MinLevel = LogLevel.Debug);

            // Add access to generic IConfigurationRoot
            services.AddSingleton <IConfiguration>(configuration);

            // Add services
            services.AddTransient <App>();

            var appConfiguration =
                new AADAppConfiguration(
                    "",
                    "",
                    "",
                    "",
                    string.Empty);

            services.AddSingleton <Service1IdentityClient>(serviceProvider =>
                                                           new Service1IdentityClient(
                                                               appConfiguration,
                                                               serviceProvider.GetService <ILogger <Service1IdentityClient> >()));

            // These need to be transient so that a new instance is provided each time a new HttpClient is created.
            services.AddTransient <AuthenticatingDelegatingHandler <Service1IdentityClient> >();

            services.AddHttpClient <IService1ApiHttpClient, Service1ApiHttpClient>(client =>
            {
                client.BaseAddress = new System.Uri("https://localhost:44303/");
                client.DefaultRequestHeaders.Add("Accept", "application/json");
            }).AddHttpMessageHandler <AuthenticatingDelegatingHandler <Service1IdentityClient> >();

            services.AddSingleton <IService1WebApi, Service1WebApi>();
        }
 public Service1IdentityClient(AADAppConfiguration aadAppConfiguration, ILogger <Service1IdentityClient> logger)
     : base(aadAppConfiguration, logger)
 {
 }