using System; using System.Net.Http; using System.Threading.Tasks; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; using Microsoft.Extensions.DependencyInjection; using BlazorAdmin.Network; using BlazorAdmin.Services; using Blazored.LocalStorage; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Authorization; namespace BlazorAdmin { public class Program { public static async Task Main(string[] args) { var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("admin"); builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); builder.Services.AddTransient(sp => new SecureHttpClient(sp.GetRequiredService())); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddAuthorizationCore(); builder.Services.AddSingleton(); builder.Services.AddSingleton(sp => (CustomAuthStateProvider)sp.GetRequiredService()); await builder.Build().RunAsync(); } } }