示例#1
0
        public static IServiceCollection AddInfrastructure(this IServiceCollection services, WebAssemblyHostConfiguration configuration, IWebAssemblyHostEnvironment hostEnvironment)
        {
            services.AddHttpClient(BaseService.HttpClientSecureLogicalName, client => client.BaseAddress = new Uri(hostEnvironment.BaseAddress))
            .AddHttpMessageHandler <AccessTokenMessageHandler>()
            .AddHttpMessageHandler <CheckResponseMessageHandler>();
            services.AddTransient(sp => sp.GetRequiredService <IHttpClientFactory>().CreateClient(BaseService.HttpClientSecureLogicalName));

            services.AddHttpClient(BaseService.HttpClientLogicalName, client => client.BaseAddress = new Uri(hostEnvironment.BaseAddress))
            .AddHttpMessageHandler <CheckResponseMessageHandler>();
            services.AddTransient(sp => sp.GetRequiredService <IHttpClientFactory>().CreateClient(BaseService.HttpClientLogicalName));

            var settings = new ClientSettings();

            configuration.Bind("Settings", settings);
            services.AddSingleton(settings);

            services.AddTenantOpenidConnectPkce();
            services.AddTransient <CheckResponseMessageHandler>();

            services.AddFileReaderService(options => options.UseWasmSharedBuffer = false);

            services.AddBlazoredToast();

            return(services);
        }
示例#2
0
        private static void ConfigureServices(IServiceCollection services, WebAssemblyHostConfiguration configuration, IWebAssemblyHostEnvironment hostEnvironment)
        {
            services.AddHttpClient(httpClientLogicalName, client => client.BaseAddress = new Uri(hostEnvironment.BaseAddress))
            .AddHttpMessageHandler <AccessTokenMessageHandler>();
            //.AddHttpMessageHandler(sp =>
            //{
            //    var handler = sp.GetService<AccessTokenMessageHandler>();
            //    configuration.Bind("IdentitySettings", handler);
            //    return handler;
            //});

            services.AddScoped(sp => sp.GetRequiredService <IHttpClientFactory>().CreateClient(httpClientLogicalName));

            services.AddOpenidConnectPkce(settings =>
            {
                configuration.Bind("IdentitySettings", settings);
            });
        }