Код: Выделить всё
using Microsoft.Extensions.Hosting.WindowsServices;
var options = new WebApplicationOptions
{
Args = args,
ContentRootPath = WindowsServiceHelpers.IsWindowsService()
? AppContext.BaseDirectory : default
};
var builder = WebApplication.CreateBuilder(options);
...
builder.Services.AddWindowsService();
builder.Services.AddHostedService();// this is the name of my service
Код: Выделить всё
public class MicroinvestIOService : BackgroundService
{
public MicroinvestIOService(ILoggerFactory loggerFactory)
{
Logger = loggerFactory.CreateLogger();
}
public ILogger Logger { get; }
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
Logger.LogInformation("MicroinvestIOService is starting.");
stoppingToken.Register(() => Logger.LogInformation("ServiceA is stopping."));
while (!stoppingToken.IsCancellationRequested)
{
Logger.LogInformation("MicroinvestIOService is doing background work.");
await Task.Delay(TimeSpan.FromSeconds(5), stoppingToken);
}
Logger.LogInformation("ServiceA has stopped.");
}
}
Код: Выделить всё
sc create MicroinvestIO binpath="the path of my exe file"
Когда я попробуйте запустить его с учетной записью «Локальная система», он останавливается через 5 или 10 секунд.
Я даже пытался создать другую учетную запись администратора, но снова не удалось!Есть идеи?
Изменить:
Я удалил это:
builder.Services.AddHostedService();
Результатом является то же самое.
Подробнее здесь: https://stackoverflow.com/questions/790 ... l-system-a
Мобильная версия