Почему моя служба, запускающая приложение ASP.NET Core, не работает с учетной записью локальной системы?C#

Место общения программистов C#
Anonymous
Почему моя служба, запускающая приложение ASP.NET Core, не работает с учетной записью локальной системы?

Сообщение Anonymous »

Я создал свое приложение, и оно работает нормально. Я зарегистрировал службу в Program.cs:

Код: Выделить всё

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

А это код в MicroinvestIOService:

Код: Выделить всё

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.");
}
}
А затем я зарегистрировал свой сервис в CMD

Код: Выделить всё

sc create MicroinvestIO binpath="the path of my exe file"
НО: все работает нормально, когда учетная запись, запускающая мой сервис, является моим текущим администратором ПК.
Когда я попробуйте запустить его с учетной записью «Локальная система», он останавливается через 5 или 10 секунд.
Я даже пытался создать другую учетную запись администратора, но снова не удалось!Есть идеи?

Подробнее здесь: https://stackoverflow.com/questions/790 ... l-system-a

Вернуться в «C#»