explicit dispose and clean on some objects

This commit is contained in:
Flaminel
2025-02-23 10:59:43 +02:00
parent e8d287de84
commit d27562a889
4 changed files with 16 additions and 4 deletions
@@ -17,7 +17,9 @@ public static class MainDI
.AddLogging(builder => builder.ClearProviders().AddConsole()) .AddLogging(builder => builder.ClearProviders().AddConsole())
.AddHttpClients(configuration) .AddHttpClients(configuration)
.AddConfiguration(configuration) .AddConfiguration(configuration)
.AddMemoryCache() .AddMemoryCache(options => {
options.ExpirationScanFrequency = TimeSpan.FromMinutes(1);
})
.AddServices() .AddServices()
.AddQuartzServices(configuration) .AddQuartzServices(configuration)
.AddNotifications(configuration) .AddNotifications(configuration)
@@ -43,7 +43,7 @@ public sealed class BlocklistProvider
{ {
if (_initialized) if (_initialized)
{ {
_logger.LogDebug("blocklists already loaded"); _logger.LogTrace("blocklists already loaded");
return; return;
} }
@@ -4,7 +4,7 @@ using Mono.Unix.Native;
namespace Infrastructure.Verticals.Files; namespace Infrastructure.Verticals.Files;
public class UnixHardLinkFileService : IHardLinkFileService public class UnixHardLinkFileService : IHardLinkFileService, IDisposable
{ {
private readonly ILogger<UnixHardLinkFileService> _logger; private readonly ILogger<UnixHardLinkFileService> _logger;
private readonly ConcurrentDictionary<ulong, int> _inodeCounts = new(); private readonly ConcurrentDictionary<ulong, int> _inodeCounts = new();
@@ -83,4 +83,9 @@ public class UnixHardLinkFileService : IHardLinkFileService
throw; throw;
} }
} }
public void Dispose()
{
_inodeCounts.Clear();
}
} }
@@ -5,7 +5,7 @@ using Microsoft.Win32.SafeHandles;
namespace Infrastructure.Verticals.Files; namespace Infrastructure.Verticals.Files;
public class WindowsHardLinkFileService : IHardLinkFileService public class WindowsHardLinkFileService : IHardLinkFileService, IDisposable
{ {
private readonly ILogger<WindowsHardLinkFileService> _logger; private readonly ILogger<WindowsHardLinkFileService> _logger;
private readonly ConcurrentDictionary<ulong, int> _fileIndexCounts = new(); private readonly ConcurrentDictionary<ulong, int> _fileIndexCounts = new();
@@ -110,4 +110,9 @@ public class WindowsHardLinkFileService : IHardLinkFileService
public uint FileIndexHigh; public uint FileIndexHigh;
public uint FileIndexLow; public uint FileIndexLow;
} }
public void Dispose()
{
_fileIndexCounts.Clear();
}
} }