2023-01-13 15:33:58 -07:00

51 lines
2.1 KiB
C#

using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.DependencyInjection;
using MudBlazor.Services;
using ReportingServices.Client;
using Serilog;
using Serilog.Core;
internal class Program
{
private static async Task Main(string[] args)
{
WebAssemblyHostBuilder builder = WebAssemblyHostBuilder.CreateDefault(args);
LoggingLevelSwitch levelSwitch = new();
LoggerConfiguration loggerConfiguration = new();
string? apiUrl = builder.Configuration["ApiUrl"];
// _ = loggerConfiguration.WriteTo.BrowserConsole();
// _ = loggerConfiguration.MinimumLevel.ControlledBy(levelSwitch);
// _ = loggerConfiguration.Enrich.WithProperty("InstanceId", Guid.NewGuid().ToString("n"));
// _ = loggerConfiguration.WriteTo.BrowserHttp($"{apiUrl}ingest", controlLevelSwitch: levelSwitch);
Log.Logger = loggerConfiguration.CreateLogger();
Serilog.ILogger log = Log.ForContext<Program>();
try
{
if (apiUrl is null)
throw new NullReferenceException(nameof(apiUrl));
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
// string newPolicy = "NewPolicy";
_ = builder.Services.AddScoped(serviceProvider => new HttpClient { BaseAddress = new Uri(apiUrl) });
_ = builder.Services.AddMudServices();
// _ = builder.Services.AddCors(options =>
// {
// options.AddPolicy(newPolicy, builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
// });
log.Information("Building Web Host");
WebAssemblyHost app = builder.Build();
// _ = app.UseCors(newPolicy);
// _ = app.UseCors(corsPolicyBuilder => corsPolicyBuilder.AllowAnyOrigin());
await app.RunAsync();
}
catch (Exception ex)
{
log.Fatal(ex, "An exception occurred while creating the WASM host");
throw;
}
}
}