33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
using ResourceMonitorService;
|
|
using System.IO;
|
|
|
|
IHostBuilder CreateHostBuilder(string[] args) =>
|
|
Host.CreateDefaultBuilder(args)
|
|
.ConfigureAppConfiguration((context, config) =>
|
|
{
|
|
config.SetBasePath(Directory.GetCurrentDirectory());
|
|
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
|
|
})
|
|
.ConfigureWebHostDefaults(webBuilder =>
|
|
{
|
|
webBuilder.UseStartup<Startup>();
|
|
webBuilder.UseKestrel();
|
|
})
|
|
.ConfigureServices((hostContext, services) =>
|
|
{
|
|
services.AddHostedService<Worker>();
|
|
});
|
|
|
|
var hostBuilder = CreateHostBuilder(args);
|
|
|
|
// Check for a command-line argument or environment variable to determine if running as a Windows Service
|
|
if (args.Contains("--windows-service") || Environment.GetEnvironmentVariable("RUN_AS_SERVICE") == "true")
|
|
{
|
|
hostBuilder.UseWindowsService();
|
|
}
|
|
|
|
var host = hostBuilder.Build();
|
|
await host.RunAsync(); |