This commit is contained in:
xyy
2026-02-27 16:58:02 +08:00
parent 82abc41dbc
commit 63c81b48a1
9 changed files with 237 additions and 3 deletions

View File

@@ -1,8 +1,37 @@
using System.Windows;
using System;
using System.IO;
using System.Windows;
using MembranePoreTester.Communication;
using Microsoft.Extensions.Configuration;
namespace MembranePoreTester
{
public partial class App : Application
{
public static IPlcService PlcService { get; private set; }
public static PlcConfiguration PlcConfig { get; private set; }
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
var configuration = builder.Build();
PlcConfig = configuration.GetSection("PlcSettings").Get<PlcConfiguration>();
if (PlcConfig == null)
throw new InvalidOperationException("PLC settings missing in appsettings.json");
PlcService = new ModbusTcpPlcService(PlcConfig);
}
protected override void OnExit(ExitEventArgs e)
{
(PlcService as IDisposable)?.Dispose();
base.OnExit(e);
}
}
}