|
|
|
@@ -6,8 +6,8 @@ namespace SecureSharing.Quartz; |
|
|
|
|
|
|
|
public class JobFactory : IJobFactory |
|
|
|
{ |
|
|
|
protected readonly ConcurrentDictionary<IJob, IServiceScope> _scopes = new(); |
|
|
|
protected readonly IServiceProvider _serviceProvider; |
|
|
|
private readonly ConcurrentDictionary<IJob, IServiceScope> _scopes = new(); |
|
|
|
private readonly IServiceProvider _serviceProvider; |
|
|
|
|
|
|
|
public JobFactory(IServiceProvider serviceProvider) |
|
|
|
{ |
|
|
|
@@ -44,8 +44,10 @@ public class JobFactory : IJobFactory |
|
|
|
public void ReturnJob(IJob job) |
|
|
|
{ |
|
|
|
if (_scopes.TryRemove(job, out var scope)) |
|
|
|
{ |
|
|
|
// The Dispose() method ends the scope lifetime. |
|
|
|
// Once Dispose is called, any scoped services that have been resolved from ServiceProvider will be disposed. |
|
|
|
scope.Dispose(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |