Browse Source

Use property injection for the IExceptionNotifier of the AbpTimer

pull/3488/head
Halil İbrahim Kalkan 7 years ago
parent
commit
9a07b1b5fb
  1. 19
      framework/src/Volo.Abp.Core/Volo/Abp/ExceptionHandling/NullExceptionNotifier.cs
  2. 6
      framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpTimer.cs

19
framework/src/Volo.Abp.Core/Volo/Abp/ExceptionHandling/NullExceptionNotifier.cs

@ -0,0 +1,19 @@
using System.Threading.Tasks;
namespace Volo.Abp.ExceptionHandling
{
public class NullExceptionNotifier : IExceptionNotifier
{
public static NullExceptionNotifier Instance { get; } = new NullExceptionNotifier();
private NullExceptionNotifier()
{
}
public Task NotifyAsync(ExceptionNotificationContext context)
{
return Task.CompletedTask;
}
}
}

6
framework/src/Volo.Abp.Threading/Volo/Abp/Threading/AbpTimer.cs

@ -30,15 +30,15 @@ namespace Volo.Abp.Threading
public ILogger<AbpTimer> Logger { get; set; }
protected IExceptionNotifier ExceptionNotifier { get; }
public IExceptionNotifier ExceptionNotifier { get; set; }
private readonly Timer _taskTimer;
private volatile bool _performingTasks;
private volatile bool _isRunning;
public AbpTimer(IExceptionNotifier exceptionNotifier)
public AbpTimer()
{
ExceptionNotifier = exceptionNotifier;
ExceptionNotifier = NullExceptionNotifier.Instance;
Logger = NullLogger<AbpTimer>.Instance;
_taskTimer = new Timer(

Loading…
Cancel
Save