using Blazored.LocalStorage; using Microsoft.EntityFrameworkCore; using MudBlazor.Services; using SharpRSS.Blazor.Components; using SharpRSS.Business; using SharpRSS.Data; var builder = WebApplication.CreateBuilder(args); builder.UseSRSS(); builder.Services.AddBlazoredLocalStorage(); // Add services to the container. builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); builder.Services.AddMudServices(); builder.Services.AddHttpContextAccessor(); // HttpContext accessor /* * HSTS config */ builder.Services.AddHsts(options => { options.Preload = true; options.IncludeSubDomains = true; options.MaxAge = TimeSpan.FromDays(60); // For DEV = 60 days, PROD = 1 year }); var app = builder.Build(); var contextFactory = app.Services.GetService>(); if (contextFactory != null) { await using var context = await contextFactory.CreateDbContextAsync(); context.Database.EnsureCreated(); } else { } if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseAntiforgery(); app.MapRazorComponents() .AddInteractiveServerRenderMode(); app.Run();