using AyCode.Core.Loggers; using FruitBank.Common; using FruitBank.Common.Models; using FruitBank.Common.Services; using FruitBank.Common.Server.Services.Loggers; using FruitBank.Common.Server.Services.SignalRs; using FruitBankHybrid.Shared.Databases; using FruitBankHybrid.Shared.Services; using FruitBankHybrid.Shared.Services.SignalRs; using FruitBankHybrid.Web.Components; using FruitBankHybrid.Web.Services; var builder = WebApplication.CreateBuilder(args); builder.Services.AddRazorComponents().AddInteractiveWebAssemblyComponents(); builder.Services.AddDevExpressBlazor(configure => configure.SizeMode = DevExpress.Blazor.SizeMode.Medium); builder.Services.AddMvc(); builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 256 * 1024); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(sp => new LoggedInModel(sp.GetRequiredService())); builder.Services.AddSingleton(); builder.Services.AddSingleton(); //builder.Services.AddScoped(); //builder.Services.AddSingleton(); //builder.Services.AddScoped(); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseWebAssemblyDebugging(); } else { app.UseExceptionHandler("/Error", createScopeForErrors: true); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.MapHub($"/{FruitBankConstClient.LoggerHubName}"); app.MapHub($"/{FruitBankConstClient.DefaultHubName}"); app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseAntiforgery(); app.MapStaticAssets(); app.MapRazorComponents() //.AddInteractiveServerRenderMode() .AddInteractiveWebAssemblyRenderMode() .AddAdditionalAssemblies( typeof(FruitBankHybrid.Shared._Imports).Assembly, typeof(FruitBankHybrid.Web.Client._Imports).Assembly); app.Run();