44 lines
1.7 KiB
C#
44 lines
1.7 KiB
C#
using Microsoft.AspNetCore.Components.Web;
|
|
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
|
using MudBlazor.Services;
|
|
using Serilog;
|
|
using Serilog.Core;
|
|
|
|
namespace OI.Metrology.Client;
|
|
|
|
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");
|
|
|
|
_ = builder.Services.AddScoped(serviceProvider => new HttpClient { BaseAddress = new Uri(apiUrl) });
|
|
_ = builder.Services.AddMudServices();
|
|
|
|
log.Information("Building Web Host");
|
|
WebAssemblyHost app = builder.Build();
|
|
await app.RunAsync();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
log.Fatal(ex, "An exception occurred while creating the WASM host");
|
|
throw;
|
|
}
|
|
}
|
|
} |