using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using OrpaonVision.SiteApp.DependencyInjection; using System.Windows; namespace OrpaonVision.SiteApp { /// /// Interaction logic for App.xaml /// public partial class App : Application { private ServiceProvider? _serviceProvider; /// protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var configuration = new ConfigurationBuilder() .SetBasePath(AppContext.BaseDirectory) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .Build(); var services = new ServiceCollection(); services.AddSiteAppServices(configuration); services.AddSingleton(); services.AddSingleton(); _serviceProvider = services.BuildServiceProvider(); // 启动优化窗口 var optimizedWindow = _serviceProvider.GetRequiredService(); optimizedWindow.Show(); } /// protected override void OnExit(ExitEventArgs e) { _serviceProvider?.Dispose(); base.OnExit(e); } } }