29 lines
826 B
C#

using DeviceAgent;
using DeviceAgent.Services;
using Microsoft.Extensions.Hosting.WindowsServices;
var builder = Host.CreateApplicationBuilder(args);
// 只在作为 Windows 服务运行时配置
if (WindowsServiceHelpers.IsWindowsService())
{
builder.Services.AddWindowsService(options =>
{
options.ServiceName = "DeviceReportAgent";
});
}
// 注册服务
builder.Services.AddSingleton<DeviceInfoService>();
builder.Services.AddSingleton<ScreenCaptureService>();
builder.Services.AddSingleton<ScreenStreamService>();
builder.Services.AddSingleton<RemoteDesktopService>();
builder.Services.AddHttpClient<ReportService>();
builder.Services.AddHostedService<Worker>();
// 配置
builder.Services.Configure<AgentConfig>(builder.Configuration.GetSection("Agent"));
var host = builder.Build();
host.Run();