using Hangfire; using Hangfire.MemoryStorage; using MauMau_Server.Websockets; var builder = WebApplication.CreateBuilder(args); // Add services to the container. var services = builder.Services; services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle services.AddEndpointsApiExplorer(); services.AddSwaggerGen(); services.AddScoped(); // var roomManager = services.BuildServiceProvider().GetRequiredService(); // // services.AddHangfire((sp, config) => // { // config.UseRecommendedSerializerSettings(); // config.UseMemoryStorage(); // }); // services.AddHangfireServer(); var app = builder.Build(); app.UsePathBase("/api"); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } var webSocketOptions = new WebSocketOptions() { KeepAliveInterval = TimeSpan.FromSeconds(120), }; app.UseWebSockets(webSocketOptions); // var recurringJobManager = app.Services.GetRequiredService(); // recurringJobManager.AddOrUpdate("1", () => roomManager.ClearGhostRooms(), Cron.Hourly); app.UseCors(policyBuilder => { policyBuilder.AllowAnyOrigin(); policyBuilder.AllowAnyMethod(); policyBuilder.AllowAnyHeader(); }); app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.MapControllers(); app.Run();