| | |
| | | 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; |
| | | using WIDESEAWCS_S7Simulator.Web.Services; |
| | | |
| | | 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<ApiHttpClient>(); // 注册API客户端服务 |
| | | |
| | | // 注册核心服务 |
| | | builder.Services.AddSingleton<ISimulatorInstanceManager, SimulatorInstanceManager>(); |
| | | builder.Services.AddSingleton<IPersistenceService>(sp => |
| | | new FilePersistenceService("Data")); |
| | | builder.Services.AddSingleton<IMemoryStore>(sp => |
| | | { |
| | | var config = new MemoryRegionConfig(); |
| | | return new MemoryStore(config); |
| | | }); |
| | | // 配置 API 基础地址 |
| | | var apiBaseUrl = builder.Configuration.GetValue<string>("ApiBaseUrl", "http://localhost:5000"); |
| | | Console.WriteLine($"前端已启动,API 地址: {apiBaseUrl}"); |
| | | |
| | | var app = builder.Build(); |
| | | |
| | |
| | | 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.UseAuthorization(); |
| | | |
| | | app.MapRazorPages(); |
| | | app.MapControllers(); // 映射API控制器路由 |
| | | |
| | | app.Run(); |