мой проект использует .net 7
это моя фоновая служба
Код: Выделить всё
public class GenerateSiteMapXMLFileBackgroundService : BackgroundService, IHostedService
{
private CrontabSchedule _schedule;
private DateTime _nextRun;
public IServiceScopeFactory _serviceScopeFactory;
private string Schedule => "00 20 00 * * *"; //Runs every day at 00:20:00 (cron expression) {ss mm hh dd mm yy}
public GenerateSiteMapXMLFileBackgroundService(IServiceScopeFactory serviceScopeFactory, IServiceProvider services)
{
_schedule = CrontabSchedule.Parse(Schedule, new CrontabSchedule.ParseOptions { IncludingSeconds = true });
_nextRun = _schedule.GetNextOccurrence(DateTime.Now);
_serviceScopeFactory = serviceScopeFactory;
Services = services;
}
public IServiceProvider Services { get; }
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
using (var scope = Services.CreateScope())
{
var scoped = scope.ServiceProvider.GetRequiredService();
do
{
var now = DateTime.Now;
if (now > _nextRun)
{
await scoped.CreateSiteMapFile();
_nextRun = _schedule.GetNextOccurrence(DateTime.Now);
}
await Task.Delay(5000, stoppingToken); //5 seconds delay
}
while (!stoppingToken.IsCancellationRequested);
}
}
}
Код: Выделить всё
services.AddHostedService();
но когда я публикую свой проект на сервере iis
это не работает не работает
нужно ли мне выполнить какую-либо настройку на сервере iis?
полагаю, мне нужно выполнить некоторые настройки на сервере iis
но я понятия не имею
Подробнее здесь: https://stackoverflow.com/questions/760 ... indows-ser
Мобильная версия