using WIDESEAWCS_S7Simulator.Core.Interfaces; using WIDESEAWCS_S7Simulator.Core.Manager; using WIDESEAWCS_S7Simulator.Core.Memory; using WIDESEAWCS_S7Simulator.Core.Persistence; using WIDESEAWCS_S7Simulator.Core.Entities; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddControllers(); // 添加API控制器支持 builder.Services.AddHttpClient(); // 注册HttpClient服务,用于调用API // 注册核心服务 builder.Services.AddSingleton(); builder.Services.AddSingleton(sp => new FilePersistenceService("Data")); builder.Services.AddSingleton(sp => { var config = new MemoryRegionConfig(); return new MemoryStore(config); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // 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.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.MapControllers(); // 映射API控制器路由 app.Run();