Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Create.cshtml.cs
@@ -12,13 +12,12 @@ public class CreateModel : PageModel { private readonly ILogger<CreateModel> _logger; private readonly HttpClient _httpClient; private readonly IHttpClientFactory _httpClientFactory; public CreateModel(ILogger<CreateModel> logger, IHttpClientFactory httpClientFactory) { _logger = logger; _httpClient = httpClientFactory.CreateClient(); _httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); _httpClientFactory = httpClientFactory; } [BindProperty] @@ -38,6 +37,10 @@ try { // 创建HttpClient并设置BaseAddress var httpClient = _httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); var config = new InstanceConfig { Id = Input.Id, @@ -58,7 +61,7 @@ } }; var response = await _httpClient.PostAsJsonAsync("/api/SimulatorInstances", config); var response = await httpClient.PostAsJsonAsync("/api/SimulatorInstances", config); if (response.IsSuccessStatusCode) { Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Details.cshtml.cs
@@ -10,13 +10,12 @@ public class DetailsModel : PageModel { private readonly ILogger<DetailsModel> _logger; private readonly HttpClient _httpClient; private readonly IHttpClientFactory _httpClientFactory; public DetailsModel(ILogger<DetailsModel> logger, IHttpClientFactory httpClientFactory) { _logger = logger; _httpClient = httpClientFactory.CreateClient(); _httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); _httpClientFactory = httpClientFactory; } public InstanceState? Instance { get; private set; } @@ -32,14 +31,17 @@ try { var response = await _httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}"); var httpClient = _httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); var response = await httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}"); if (response.IsSuccessStatusCode) { Instance = await response.Content.ReadFromJsonAsync<InstanceState>(); // Load clients var clientsResponse = await _httpClient.GetAsync($"/api/instances/{Uri.EscapeDataString(id)}/Clients"); var clientsResponse = await httpClient.GetAsync($"/api/instances/{Uri.EscapeDataString(id)}/Clients"); if (clientsResponse.IsSuccessStatusCode) { Clients = await clientsResponse.Content.ReadFromJsonAsync<List<S7ClientConnection>>() ?? new(); Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Pages/Edit.cshtml.cs
@@ -12,13 +12,12 @@ public class EditModel : PageModel { private readonly ILogger<EditModel> _logger; private readonly HttpClient _httpClient; private readonly IHttpClientFactory _httpClientFactory; public EditModel(ILogger<EditModel> logger, IHttpClientFactory httpClientFactory) { _logger = logger; _httpClient = httpClientFactory.CreateClient(); _httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); _httpClientFactory = httpClientFactory; } [BindProperty] @@ -37,7 +36,10 @@ try { var response = await _httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}"); var httpClient = _httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); var response = await httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}"); if (response.IsSuccessStatusCode) { @@ -45,7 +47,7 @@ IsRunning = CurrentInstance?.Status == InstanceStatus.Running; // Load existing config var configResponse = await _httpClient.GetAsync($"/api/SimulatorInstances"); var configResponse = await httpClient.GetAsync($"/api/SimulatorInstances"); if (configResponse.IsSuccessStatusCode) { var allInstances = await configResponse.Content.ReadFromJsonAsync<List<InstanceState>>(); @@ -82,6 +84,10 @@ try { // 创建HttpClient并设置BaseAddress var httpClient = _httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); var config = new InstanceConfig { Id = Input.Id, @@ -102,7 +108,7 @@ } }; var response = await _httpClient.PutAsJsonAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(Input.Id)}", config); var response = await httpClient.PutAsJsonAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(Input.Id)}", config); if (response.IsSuccessStatusCode) { @@ -134,7 +140,10 @@ { try { var response = await _httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}"); var httpClient = _httpClientFactory.CreateClient(); httpClient.BaseAddress = new Uri($"{Request.Scheme}://{Request.Host}"); var response = await httpClient.GetAsync($"/api/SimulatorInstances/{Uri.EscapeDataString(id)}"); if (response.IsSuccessStatusCode) { CurrentInstance = await response.Content.ReadFromJsonAsync<InstanceState>(); Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Web/Program.cs
@@ -2,6 +2,7 @@ // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddHttpClient(); // 注册HttpClient服务,用于调用API var app = builder.Build();