Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal class TimedHostedService : IHostedService, IDisposable
- {
- private readonly ILogger _logger;
- private Timer _timer;
- public TimedHostedService(ILogger<TimedHostedService> logger)
- {
- _logger = logger;
- }
- public Task StartAsync(CancellationToken cancellationToken)
- {
- _logger.LogInformation("Timed Background Service is starting.");
- _timer = new Timer(DoWork, null, TimeSpan.Zero,
- TimeSpan.FromSeconds(5));
- return Task.CompletedTask;
- }
- private void DoWork(object state)
- {
- _logger.LogInformation("Timed Background Service is working.");
- }
- public Task StopAsync(CancellationToken cancellationToken)
- {
- _logger.LogInformation("Timed Background Service is stopping.");
- _timer?.Change(Timeout.Infinite, 0);
- return Task.CompletedTask;
- }
- public void Dispose()
- {
- _timer?.Dispose();
- }
- }
- public void ConfigureServices(IServiceCollection services)
- {
- ...
- services.AddHostedService<TimedHostedService>();
- ...
- }
Add Comment
Please, Sign In to add comment