// Importieren des Entity Frameworks für den Zugriff auf die DB using Microsoft.EntityFrameworkCore; // Importieren der Klassen using SecDevOpsLab.Data; using SecDevOpsLab.Components; // Initialisieren des Web Builders, der den Server und die Umgebung vorbereitet var builder = WebApplication.CreateBuilder(args); // Hinzufügen des Blazor Service und die Interagierbarkeit des Frontends builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); // Registrieren des Datenbankzugriffs (Sqlite) builder.Services.AddDbContext(options => options.UseSqlite("Data Source=books.db")); // Bauen des Webservers, der App var app = builder.Build(); // Erstellen eines temporären Scopes using (var scope = app.Services.CreateScope()) { // Holen des DB Services var db = scope.ServiceProvider.GetRequiredService(); // Erstellen der books.db automatisch sofern nicht bereits vorhanden db.Database.EnsureCreated(); } // Hinzufügen einer Fehlerbehandlung -> Fehler wird auf der Website angezeigt if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error", createScopeForErrors: true); } // Erlauben des Zugriffs auf wwwroot Dir app.UseStaticFiles(); // Schützen vor CSRF Attacken app.UseAntiforgery(); // Verknüpfen der Razor Seiten mit den entsprechenden URLs app.MapRazorComponents() .AddInteractiveServerRenderMode(); // Webserver wird gestartet. Port 8080 wird eröffnet app.Run();