diff --git a/framework/src/Volo.Abp.AzureServiceBus/Volo.Abp.AzureServiceBus.csproj b/framework/src/Volo.Abp.AzureServiceBus/Volo.Abp.AzureServiceBus.csproj index 98a67869cf..aef38c1e10 100644 --- a/framework/src/Volo.Abp.AzureServiceBus/Volo.Abp.AzureServiceBus.csproj +++ b/framework/src/Volo.Abp.AzureServiceBus/Volo.Abp.AzureServiceBus.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.AzureServiceBus Volo.Abp.AzureServiceBus $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/AzureServiceBusMessageConsumer.cs b/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/AzureServiceBusMessageConsumer.cs index 71143b834e..4417a6ef79 100644 --- a/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/AzureServiceBusMessageConsumer.cs +++ b/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/AzureServiceBusMessageConsumer.cs @@ -20,9 +20,9 @@ public class AzureServiceBusMessageConsumer : IAzureServiceBusMessageConsumer, I private readonly IExceptionNotifier _exceptionNotifier; private readonly IProcessorPool _processorPool; private readonly ConcurrentBag> _callbacks; - private string _connectionName; - private string _subscriptionName; - private string _topicName; + private string _connectionName = default!; + private string _subscriptionName = default!; + private string _topicName = default!; public AzureServiceBusMessageConsumer( IExceptionNotifier exceptionNotifier, @@ -37,7 +37,7 @@ public class AzureServiceBusMessageConsumer : IAzureServiceBusMessageConsumer, I public virtual void Initialize( [NotNull] string topicName, [NotNull] string subscriptionName, - string connectionName) + string? connectionName) { Check.NotNull(topicName, nameof(topicName)); Check.NotNull(subscriptionName, nameof(subscriptionName)); diff --git a/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/ClientConfig.cs b/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/ClientConfig.cs index 9b9cbd6843..02b8397917 100644 --- a/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/ClientConfig.cs +++ b/framework/src/Volo.Abp.AzureServiceBus/Volo/Abp/AzureServiceBus/ClientConfig.cs @@ -5,7 +5,7 @@ namespace Volo.Abp.AzureServiceBus; public class ClientConfig { - public string ConnectionString { get; set; } + public string ConnectionString { get; set; } = default!; public ServiceBusAdministrationClientOptions Admin { get; set; } = new(); diff --git a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo.Abp.BackgroundJobs.Abstractions.csproj b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo.Abp.BackgroundJobs.Abstractions.csproj index 3633fd45e3..e12574e992 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo.Abp.BackgroundJobs.Abstractions.csproj +++ b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo.Abp.BackgroundJobs.Abstractions.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundJobs.Abstractions Volo.Abp.BackgroundJobs.Abstractions $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecuter.cs b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecuter.cs index 7798a8d9a6..6b6d822c50 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecuter.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecuter.cs @@ -54,7 +54,7 @@ public class BackgroundJobExecuter : IBackgroundJobExecuter, ITransientDependenc { if (jobExecuteMethod.Name == nameof(IAsyncBackgroundJob.ExecuteAsync)) { - await ((Task)jobExecuteMethod.Invoke(job, new[] { context.JobArgs })); + await ((Task)jobExecuteMethod.Invoke(job, new[] { context.JobArgs })!); } else { @@ -74,7 +74,7 @@ public class BackgroundJobExecuter : IBackgroundJobExecuter, ITransientDependenc throw new BackgroundJobExecutionException("A background job execution is failed. See inner exception for details.", ex) { - JobType = context.JobType.AssemblyQualifiedName, + JobType = context.JobType.AssemblyQualifiedName!, JobArgs = context.JobArgs }; } diff --git a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecutionException.cs b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecutionException.cs index 6c2df10a4f..f8c98437dc 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecutionException.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobExecutionException.cs @@ -6,9 +6,9 @@ namespace Volo.Abp.BackgroundJobs; [Serializable] public class BackgroundJobExecutionException : AbpException { - public string JobType { get; set; } + public string JobType { get; set; } = default!; - public object JobArgs { get; set; } + public object JobArgs { get; set; } = default!; public BackgroundJobExecutionException() { diff --git a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobNameAttribute.cs b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobNameAttribute.cs index edac395039..012569c423 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobNameAttribute.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Abstractions/Volo/Abp/BackgroundJobs/BackgroundJobNameAttribute.cs @@ -22,11 +22,11 @@ public class BackgroundJobNameAttribute : Attribute, IBackgroundJobNameProvider { Check.NotNull(jobArgsType, nameof(jobArgsType)); - return jobArgsType - .GetCustomAttributes(true) - .OfType() - .FirstOrDefault() - ?.Name - ?? jobArgsType.FullName; + return (jobArgsType + .GetCustomAttributes(true) + .OfType() + .FirstOrDefault() + ?.Name + ?? jobArgsType.FullName)!; } } diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo.Abp.BackgroundJobs.HangFire.csproj b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo.Abp.BackgroundJobs.HangFire.csproj index 5823174e54..8e79738248 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo.Abp.BackgroundJobs.HangFire.csproj +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo.Abp.BackgroundJobs.HangFire.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundJobs.HangFire Volo.Abp.BackgroundJobs.HangFire $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs index ce2babaabc..ca874cd701 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/AbpBackgroundJobsHangfireModule.cs @@ -30,7 +30,7 @@ public class AbpBackgroundJobsHangfireModule : AbpModule } } - private BackgroundJobServer CreateOnlyEnqueueJobServer(IServiceProvider serviceProvider) + private BackgroundJobServer? CreateOnlyEnqueueJobServer(IServiceProvider serviceProvider) { serviceProvider.GetRequiredService(); return null; diff --git a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs index 58d2863618..8790243334 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.HangFire/Volo/Abp/BackgroundJobs/Hangfire/HangfireJobExecutionAdapter.cs @@ -39,7 +39,7 @@ public class HangfireJobExecutionAdapter using (var scope = ServiceScopeFactory.CreateScope()) { var jobType = Options.GetJob(typeof(TArgs)).JobType; - var context = new JobExecutionContext(scope.ServiceProvider, jobType, args, cancellationToken: cancellationToken); + var context = new JobExecutionContext(scope.ServiceProvider, jobType, args!, cancellationToken: cancellationToken); await JobExecuter.ExecuteAsync(context); } } diff --git a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo.Abp.BackgroundJobs.Quartz.csproj b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo.Abp.BackgroundJobs.Quartz.csproj index 1326926d55..47847d00c8 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo.Abp.BackgroundJobs.Quartz.csproj +++ b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo.Abp.BackgroundJobs.Quartz.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundJobs.Quartz Volo.Abp.BackgroundJobs.Quartz $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobQuartzOptions.cs b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobQuartzOptions.cs index fb0a7bb406..2aac41e885 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobQuartzOptions.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobQuartzOptions.cs @@ -30,7 +30,7 @@ public class AbpBackgroundJobQuartzOptions { exception.RefireImmediately = true; - var retryCount = executionContext.JobDetail.JobDataMap.GetString(QuartzBackgroundJobManager.JobDataPrefix + nameof(RetryCount)).To(); + var retryCount = executionContext.JobDetail.JobDataMap.GetString(QuartzBackgroundJobManager.JobDataPrefix + nameof(RetryCount))!.To(); if (retryIndex > retryCount) { exception.RefireImmediately = false; @@ -38,7 +38,7 @@ public class AbpBackgroundJobQuartzOptions return; } - var retryInterval = executionContext.JobDetail.JobDataMap.GetString(QuartzBackgroundJobManager.JobDataPrefix + nameof(RetryIntervalMillisecond)).To(); + var retryInterval = executionContext.JobDetail.JobDataMap.GetString(QuartzBackgroundJobManager.JobDataPrefix + nameof(RetryIntervalMillisecond))!.To(); await Task.Delay(retryInterval); } } diff --git a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobsQuartzModule.cs b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobsQuartzModule.cs index 500cc8538e..6b2d8f36e0 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobsQuartzModule.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/AbpBackgroundJobsQuartzModule.cs @@ -19,10 +19,10 @@ public class AbpBackgroundJobsQuartzModule : AbpModule public override void OnPreApplicationInitialization(ApplicationInitializationContext context) { - var options = context.ServiceProvider.GetService>().Value; + var options = context.ServiceProvider.GetRequiredService>().Value; if (!options.IsJobExecutionEnabled) { - var quartzOptions = context.ServiceProvider.GetService>().Value; + var quartzOptions = context.ServiceProvider.GetRequiredService>().Value; quartzOptions.StartSchedulerFactory = scheduler => Task.CompletedTask; } } diff --git a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManageExtensions.cs b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManageExtensions.cs index 9eaa40574c..5c1e883888 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManageExtensions.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManageExtensions.cs @@ -6,7 +6,7 @@ namespace Volo.Abp.BackgroundJobs.Quartz; public static class QuartzBackgroundJobManageExtensions { - public static async Task EnqueueAsync(this IBackgroundJobManager backgroundJobManager, + public static async Task EnqueueAsync(this IBackgroundJobManager backgroundJobManager, TArgs args, int retryCount, int retryIntervalMillisecond, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null) { diff --git a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManager.cs b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManager.cs index 99ef72adf6..135c2fc6f7 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManager.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzBackgroundJobManager.cs @@ -37,7 +37,7 @@ public class QuartzBackgroundJobManager : IBackgroundJobManager, ITransientDepen { var jobDataMap = new JobDataMap { - {nameof(TArgs), JsonSerializer.Serialize(args)}, + {nameof(TArgs), JsonSerializer.Serialize(args!)}, {JobDataPrefix+ nameof(Options.RetryCount), retryCount.ToString()}, {JobDataPrefix+ nameof(Options.RetryIntervalMillisecond), retryIntervalMillisecond.ToString()}, {JobDataPrefix+ RetryIndex, "0"} diff --git a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzJobExecutionAdapter.cs b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzJobExecutionAdapter.cs index 588e844153..9005164043 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzJobExecutionAdapter.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.Quartz/Volo/Abp/BackgroundJobs/Quartz/QuartzJobExecutionAdapter.cs @@ -38,9 +38,9 @@ public class QuartzJobExecutionAdapter : IJob { using (var scope = ServiceScopeFactory.CreateScope()) { - var args = JsonSerializer.Deserialize(context.JobDetail.JobDataMap.GetString(nameof(TArgs))); + var args = JsonSerializer.Deserialize(context.JobDetail.JobDataMap.GetString(nameof(TArgs))!); var jobType = Options.GetJob(typeof(TArgs)).JobType; - var jobContext = new JobExecutionContext(scope.ServiceProvider, jobType, args, cancellationToken: context.CancellationToken); + var jobContext = new JobExecutionContext(scope.ServiceProvider, jobType, args!, cancellationToken: context.CancellationToken); try { await JobExecuter.ExecuteAsync(jobContext); @@ -49,7 +49,7 @@ public class QuartzJobExecutionAdapter : IJob { var jobExecutionException = new JobExecutionException(exception); - var retryIndex = context.JobDetail.JobDataMap.GetString(QuartzBackgroundJobManager.JobDataPrefix + QuartzBackgroundJobManager.RetryIndex).To(); + var retryIndex = context.JobDetail.JobDataMap.GetString(QuartzBackgroundJobManager.JobDataPrefix + QuartzBackgroundJobManager.RetryIndex)!.To(); retryIndex++; context.JobDetail.JobDataMap.Put(QuartzBackgroundJobManager.JobDataPrefix + QuartzBackgroundJobManager.RetryIndex, retryIndex.ToString()); diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo.Abp.BackgroundJobs.RabbitMQ.csproj b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo.Abp.BackgroundJobs.RabbitMQ.csproj index 40f87898ba..c4675f6039 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo.Abp.BackgroundJobs.RabbitMQ.csproj +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo.Abp.BackgroundJobs.RabbitMQ.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundJobs.RabbitMQ Volo.Abp.BackgroundJobs.RabbitMQ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/IJobQueue.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/IJobQueue.cs index b244707f04..b285f598cc 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/IJobQueue.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/IJobQueue.cs @@ -6,7 +6,7 @@ namespace Volo.Abp.BackgroundJobs.RabbitMQ; public interface IJobQueue : IRunnable, IDisposable { - Task EnqueueAsync( + Task EnqueueAsync( TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs index 9c3bf26e62..9947ba64ac 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueue.cs @@ -21,8 +21,8 @@ public class JobQueue : IJobQueue protected BackgroundJobConfiguration JobConfiguration { get; } protected JobQueueConfiguration QueueConfiguration { get; } - protected IChannelAccessor ChannelAccessor { get; private set; } - protected AsyncEventingBasicConsumer Consumer { get; private set; } + protected IChannelAccessor? ChannelAccessor { get; private set; } + protected AsyncEventingBasicConsumer? Consumer { get; private set; } public ILogger> Logger { get; set; } @@ -71,7 +71,7 @@ public class JobQueue : IJobQueue ); } - public virtual async Task EnqueueAsync( + public virtual async Task EnqueueAsync( TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null) @@ -176,11 +176,11 @@ public class JobQueue : IJobQueue basicProperties.Expiration = delay.Value.TotalMilliseconds.ToString(); } - ChannelAccessor.Channel.BasicPublish( + ChannelAccessor!.Channel.BasicPublish( exchange: "", routingKey: routingKey, basicProperties: basicProperties, - body: Serializer.Serialize(args) + body: Serializer.Serialize(args!) ); return Task.CompletedTask; @@ -188,7 +188,7 @@ public class JobQueue : IJobQueue protected virtual IBasicProperties CreateBasicPropertiesToPublish() { - var properties = ChannelAccessor.Channel.CreateBasicProperties(); + var properties = ChannelAccessor!.Channel.CreateBasicProperties(); properties.Persistent = true; return properties; } @@ -206,17 +206,17 @@ public class JobQueue : IJobQueue try { await JobExecuter.ExecuteAsync(context); - ChannelAccessor.Channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); + ChannelAccessor!.Channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); } catch (BackgroundJobExecutionException) { //TODO: Reject like that? - ChannelAccessor.Channel.BasicReject(deliveryTag: ea.DeliveryTag, requeue: true); + ChannelAccessor!.Channel.BasicReject(deliveryTag: ea.DeliveryTag, requeue: true); } catch (Exception) { //TODO: Reject like that? - ChannelAccessor.Channel.BasicReject(deliveryTag: ea.DeliveryTag, requeue: false); + ChannelAccessor!.Channel.BasicReject(deliveryTag: ea.DeliveryTag, requeue: false); } } } diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueConfiguration.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueConfiguration.cs index ee706ab864..9425cd0604 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueConfiguration.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/JobQueueConfiguration.cs @@ -9,7 +9,7 @@ public class JobQueueConfiguration : QueueDeclareConfiguration { public Type JobArgsType { get; } - public string ConnectionName { get; set; } + public string? ConnectionName { get; set; } public string DelayedQueueName { get; set; } @@ -17,7 +17,7 @@ public class JobQueueConfiguration : QueueDeclareConfiguration Type jobArgsType, string queueName, string delayedQueueName, - string connectionName = null, + string? connectionName = null, bool durable = true, bool exclusive = false, bool autoDelete = false, diff --git a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/RabbitMqBackgroundJobManager.cs b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/RabbitMqBackgroundJobManager.cs index ae550077e0..d81b2758b0 100644 --- a/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/RabbitMqBackgroundJobManager.cs +++ b/framework/src/Volo.Abp.BackgroundJobs.RabbitMQ/Volo/Abp/BackgroundJobs/RabbitMQ/RabbitMqBackgroundJobManager.cs @@ -20,6 +20,6 @@ public class RabbitMqBackgroundJobManager : IBackgroundJobManager, ITransientDep TimeSpan? delay = null) { var jobQueue = await _jobQueueManager.GetAsync(); - return await jobQueue.EnqueueAsync(args, priority, delay); + return (await jobQueue.EnqueueAsync(args, priority, delay))!; } } diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo.Abp.BackgroundJobs.csproj b/framework/src/Volo.Abp.BackgroundJobs/Volo.Abp.BackgroundJobs.csproj index 0ef692a9f2..29a4ed2edc 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo.Abp.BackgroundJobs.csproj +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo.Abp.BackgroundJobs.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundJobs Volo.Abp.BackgroundJobs $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobInfo.cs b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobInfo.cs index deba940d12..0d5441a4bc 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobInfo.cs +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/BackgroundJobInfo.cs @@ -12,12 +12,12 @@ public class BackgroundJobInfo /// /// Name of the job. /// - public virtual string JobName { get; set; } + public virtual string JobName { get; set; } = default!; /// /// Job arguments as serialized to string. /// - public virtual string JobArgs { get; set; } + public virtual string JobArgs { get; set; } = default!; /// /// Try count of this job. diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/DefaultBackgroundJobManager.cs b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/DefaultBackgroundJobManager.cs index a222f91362..7218776cfe 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/DefaultBackgroundJobManager.cs +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/DefaultBackgroundJobManager.cs @@ -32,7 +32,7 @@ public class DefaultBackgroundJobManager : IBackgroundJobManager, ITransientDepe public virtual async Task EnqueueAsync(TArgs args, BackgroundJobPriority priority = BackgroundJobPriority.Normal, TimeSpan? delay = null) { var jobName = BackgroundJobNameAttribute.GetName(); - var jobId = await EnqueueAsync(jobName, args, priority, delay); + var jobId = await EnqueueAsync(jobName, args!, priority, delay); return jobId.ToString(); } diff --git a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs index 726d65d513..7abbc188ce 100644 --- a/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs +++ b/framework/src/Volo.Abp.BackgroundJobs/Volo/Abp/BackgroundJobs/InMemoryBackgroundJobStore.cs @@ -25,7 +25,7 @@ public class InMemoryBackgroundJobStore : IBackgroundJobStore, ISingletonDepende public virtual Task FindAsync(Guid jobId) { - return Task.FromResult(_jobs.GetOrDefault(jobId)); + return Task.FromResult(_jobs.GetOrDefault(jobId))!; } public virtual Task InsertAsync(BackgroundJobInfo jobInfo) diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj index 9792dbf1ff..bec3d235e6 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo.Abp.BackgroundWorkers.Hangfire.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundWorkers.Hangfire Volo.Abp.BackgroundWorkers.Hangfire $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/AbpBackgroundWorkersHangfireModule.cs b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/AbpBackgroundWorkersHangfireModule.cs index 50f43736ff..afe9a90a8a 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/AbpBackgroundWorkersHangfireModule.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/AbpBackgroundWorkersHangfireModule.cs @@ -38,7 +38,7 @@ public class AbpBackgroundWorkersHangfireModule : AbpModule AsyncHelper.RunSync(() => OnPreApplicationInitializationAsync(context)); } - private BackgroundJobServer CreateOnlyEnqueueJobServer(IServiceProvider serviceProvider) + private BackgroundJobServer? CreateOnlyEnqueueJobServer(IServiceProvider serviceProvider) { serviceProvider.GetRequiredService(); return null; diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerBase.cs b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerBase.cs index c4cf1d6be0..e5cef1ce42 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerBase.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerBase.cs @@ -6,11 +6,11 @@ namespace Volo.Abp.BackgroundWorkers.Hangfire; public abstract class HangfireBackgroundWorkerBase : BackgroundWorkerBase, IHangfireBackgroundWorker { - public string RecurringJobId { get; set; } + public string? RecurringJobId { get; set; } - public string CronExpression { get; set; } + public string CronExpression { get; set; } = default!; - public TimeZoneInfo TimeZone { get; set; } + public TimeZoneInfo? TimeZone { get; set; } public string Queue { get; set; } diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerManager.cs b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerManager.cs index 594f01343e..4b6582d03d 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerManager.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfireBackgroundWorkerManager.cs @@ -14,7 +14,7 @@ namespace Volo.Abp.BackgroundWorkers.Hangfire; [Dependency(ReplaceServices = true)] public class HangfireBackgroundWorkerManager : BackgroundWorkerManager, ISingletonDependency { - protected AbpHangfireBackgroundJobServer BackgroundJobServer { get; set; } + protected AbpHangfireBackgroundJobServer BackgroundJobServer { get; set; } = default!; protected IServiceProvider ServiceProvider { get; } public HangfireBackgroundWorkerManager(IServiceProvider serviceProvider) @@ -57,7 +57,7 @@ public class HangfireBackgroundWorkerManager : BackgroundWorkerManager, ISinglet var timer = worker.GetType() .GetProperty("Timer", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(worker); - var period = worker is AsyncPeriodicBackgroundWorkerBase ? ((AbpAsyncTimer)timer)?.Period : ((AbpTimer)timer)?.Period; + var period = worker is AsyncPeriodicBackgroundWorkerBase ? ((AbpAsyncTimer?)timer)?.Period : ((AbpTimer?)timer)?.Period; if (period == null) { @@ -65,7 +65,7 @@ public class HangfireBackgroundWorkerManager : BackgroundWorkerManager, ISinglet } var adapterType = typeof(HangfirePeriodicBackgroundWorkerAdapter<>).MakeGenericType(ProxyHelper.GetUnProxiedType(worker)); - var workerAdapter = Activator.CreateInstance(adapterType) as IHangfireBackgroundWorker; + var workerAdapter = (Activator.CreateInstance(adapterType) as IHangfireBackgroundWorker)!; RecurringJob.AddOrUpdate(() => workerAdapter.DoWorkAsync(cancellationToken), GetCron(period.Value), workerAdapter.TimeZone, workerAdapter.Queue); diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfirePeriodicBackgroundWorkerAdapter.cs b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfirePeriodicBackgroundWorkerAdapter.cs index e1cec7da85..d624966fe4 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfirePeriodicBackgroundWorkerAdapter.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/HangfirePeriodicBackgroundWorkerAdapter.cs @@ -14,8 +14,8 @@ public class HangfirePeriodicBackgroundWorkerAdapter : HangfireBackgrou public HangfirePeriodicBackgroundWorkerAdapter() { _doWorkAsyncMethod = - typeof(TWorker).GetMethod("DoWorkAsync", BindingFlags.Instance | BindingFlags.NonPublic); - _doWorkMethod = typeof(TWorker).GetMethod("DoWork", BindingFlags.Instance | BindingFlags.NonPublic); + typeof(TWorker).GetMethod("DoWorkAsync", BindingFlags.Instance | BindingFlags.NonPublic)!; + _doWorkMethod = typeof(TWorker).GetMethod("DoWork", BindingFlags.Instance | BindingFlags.NonPublic)!; } public async override Task DoWorkAsync(CancellationToken cancellationToken = default) @@ -26,7 +26,7 @@ public class HangfirePeriodicBackgroundWorkerAdapter : HangfireBackgrou switch (worker) { case AsyncPeriodicBackgroundWorkerBase asyncPeriodicBackgroundWorker: - await (Task)_doWorkAsyncMethod.Invoke(asyncPeriodicBackgroundWorker, new object[] { workerContext }); + await (Task)(_doWorkAsyncMethod.Invoke(asyncPeriodicBackgroundWorker, new object[] { workerContext })!); break; case PeriodicBackgroundWorkerBase periodicBackgroundWorker: _doWorkMethod.Invoke(periodicBackgroundWorker, new object[] { workerContext }); diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/IHangfireBackgroundWorker.cs b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/IHangfireBackgroundWorker.cs index 883f488684..4371ceb8b3 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/IHangfireBackgroundWorker.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Hangfire/Volo/Abp/BackgroundWorkers/Hangfire/IHangfireBackgroundWorker.cs @@ -6,11 +6,11 @@ namespace Volo.Abp.BackgroundWorkers.Hangfire; public interface IHangfireBackgroundWorker : IBackgroundWorker { - string RecurringJobId { get; set; } + string? RecurringJobId { get; set; } string CronExpression { get; set; } - TimeZoneInfo TimeZone { get; set; } + TimeZoneInfo? TimeZone { get; set; } string Queue { get; set; } diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo.Abp.BackgroundWorkers.Quartz.csproj b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo.Abp.BackgroundWorkers.Quartz.csproj index 2c43a121d1..0f4d807456 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo.Abp.BackgroundWorkers.Quartz.csproj +++ b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo.Abp.BackgroundWorkers.Quartz.csproj @@ -6,6 +6,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundWorkers.Quartz Volo.Abp.BackgroundWorkers.Quartz $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/IQuartzBackgroundWorker.cs b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/IQuartzBackgroundWorker.cs index 1e96efbe45..23ba05bc94 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/IQuartzBackgroundWorker.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/IQuartzBackgroundWorker.cs @@ -12,5 +12,5 @@ public interface IQuartzBackgroundWorker : IBackgroundWorker, IJob bool AutoRegister { get; set; } - Func ScheduleJob { get; set; } + Func? ScheduleJob { get; set; } } diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzBackgroundWorkerBase.cs b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzBackgroundWorkerBase.cs index 0956dc2218..2ba8f6d8bd 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzBackgroundWorkerBase.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzBackgroundWorkerBase.cs @@ -6,13 +6,13 @@ namespace Volo.Abp.BackgroundWorkers.Quartz; public abstract class QuartzBackgroundWorkerBase : BackgroundWorkerBase, IQuartzBackgroundWorker { - public ITrigger Trigger { get; set; } + public ITrigger Trigger { get; set; } = default!; - public IJobDetail JobDetail { get; set; } + public IJobDetail JobDetail { get; set; } = default!; public bool AutoRegister { get; set; } = true; - public Func ScheduleJob { get; set; } = null; + public Func? ScheduleJob { get; set; } = null; public abstract Task Execute(IJobExecutionContext context); } diff --git a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzPeriodicBackgroundWorkerAdapter.cs b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzPeriodicBackgroundWorkerAdapter.cs index fb94408bfe..767ac36412 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzPeriodicBackgroundWorkerAdapter.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers.Quartz/Volo/Abp/BackgroundWorkers/Quartz/QuartzPeriodicBackgroundWorkerAdapter.cs @@ -1,6 +1,7 @@ using System; using System.Reflection; using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; using Quartz; using Volo.Abp.DynamicProxy; using Volo.Abp.Threading; @@ -12,8 +13,8 @@ public class QuartzPeriodicBackgroundWorkerAdapter : QuartzBackgroundWo IQuartzBackgroundWorkerAdapter where TWorker : IBackgroundWorker { - private readonly MethodInfo _doWorkAsyncMethod; - private readonly MethodInfo _doWorkMethod; + private readonly MethodInfo? _doWorkAsyncMethod; + private readonly MethodInfo? _doWorkMethod; public QuartzPeriodicBackgroundWorkerAdapter() { @@ -40,11 +41,11 @@ public class QuartzPeriodicBackgroundWorkerAdapter : QuartzBackgroundWo if (worker is AsyncPeriodicBackgroundWorkerBase) { - period = ((AbpAsyncTimer)timer)?.Period; + period = ((AbpAsyncTimer?)timer)?.Period; } else { - period = ((AbpTimer)timer)?.Period; + period = ((AbpTimer?)timer)?.Period; } } else @@ -59,17 +60,17 @@ public class QuartzPeriodicBackgroundWorkerAdapter : QuartzBackgroundWo JobDetail = JobBuilder .Create>() - .WithIdentity(workerType.FullName) + .WithIdentity(workerType.FullName!) .Build(); Trigger = TriggerBuilder.Create() - .WithIdentity(workerType.FullName) + .WithIdentity(workerType.FullName!) .WithSimpleSchedule(builder => builder.WithInterval(TimeSpan.FromMilliseconds(period.Value)).RepeatForever()) .Build(); } public async override Task Execute(IJobExecutionContext context) { - var worker = (IBackgroundWorker) ServiceProvider.GetService(typeof(TWorker)); + var worker = (IBackgroundWorker) ServiceProvider.GetRequiredService(typeof(TWorker)); var workerContext = new PeriodicBackgroundWorkerContext(ServiceProvider, context.CancellationToken); switch (worker) @@ -78,7 +79,7 @@ public class QuartzPeriodicBackgroundWorkerAdapter : QuartzBackgroundWo { if (_doWorkAsyncMethod != null) { - await (Task) _doWorkAsyncMethod.Invoke(asyncWorker, new object[] {workerContext}); + await (Task) (_doWorkAsyncMethod.Invoke(asyncWorker, new object[] {workerContext})!); } break; diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj b/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj index f01a73d7a1..48e4b5fdf7 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo.Abp.BackgroundWorkers.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BackgroundWorkers Volo.Abp.BackgroundWorkers $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerBase.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerBase.cs index dc32981d58..91bc360f72 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerBase.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/BackgroundWorkerBase.cs @@ -14,13 +14,13 @@ public abstract class BackgroundWorkerBase : IBackgroundWorker { //TODO: Add UOW, Localization and other useful properties..? - public IAbpLazyServiceProvider LazyServiceProvider { get; set; } + public IAbpLazyServiceProvider LazyServiceProvider { get; set; } = default!; - public IServiceProvider ServiceProvider { get; set; } + public IServiceProvider ServiceProvider { get; set; } = default!; protected ILoggerFactory LoggerFactory => LazyServiceProvider.LazyGetRequiredService(); - protected ILogger Logger => LazyServiceProvider.LazyGetService(provider => LoggerFactory?.CreateLogger(GetType().FullName) ?? NullLogger.Instance); + protected ILogger Logger => LazyServiceProvider.LazyGetService(provider => LoggerFactory?.CreateLogger(GetType().FullName!) ?? NullLogger.Instance); protected CancellationTokenSource StoppingTokenSource { get; } protected CancellationToken StoppingToken { get; } @@ -47,6 +47,6 @@ public abstract class BackgroundWorkerBase : IBackgroundWorker public override string ToString() { - return GetType().FullName; + return GetType().FullName!; } } diff --git a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs index 393a4766cf..9d78d9237d 100644 --- a/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs +++ b/framework/src/Volo.Abp.BackgroundWorkers/Volo/Abp/BackgroundWorkers/PeriodicBackgroundWorkerBase.cs @@ -37,7 +37,7 @@ public abstract class PeriodicBackgroundWorkerBase : BackgroundWorkerBase await base.StopAsync(cancellationToken); } - private void Timer_Elapsed(object sender, System.EventArgs e) + private void Timer_Elapsed(object? sender, System.EventArgs e) { using (var scope = ServiceScopeFactory.CreateScope()) { diff --git a/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj b/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj index dfd64e0b1a..07e299f859 100644 --- a/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj +++ b/framework/src/Volo.Abp.HangFire/Volo.Abp.HangFire.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.HangFire Volo.Abp.HangFire $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireAuthorizationFilter.cs b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireAuthorizationFilter.cs index 9b6a6941ae..bd65b22dba 100644 --- a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireAuthorizationFilter.cs +++ b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireAuthorizationFilter.cs @@ -10,9 +10,9 @@ namespace Volo.Abp.Hangfire; public class AbpHangfireAuthorizationFilter : IDashboardAsyncAuthorizationFilter { private readonly bool _enableTenant; - private readonly string _requiredPermissionName; + private readonly string? _requiredPermissionName; - public AbpHangfireAuthorizationFilter(bool enableTenant = false, string requiredPermissionName = null) + public AbpHangfireAuthorizationFilter(bool enableTenant = false, string? requiredPermissionName = null) { _enableTenant = requiredPermissionName.IsNullOrWhiteSpace() ? enableTenant : true; _requiredPermissionName = requiredPermissionName; @@ -30,7 +30,7 @@ public class AbpHangfireAuthorizationFilter : IDashboardAsyncAuthorizationFilter return true; } - return await IsPermissionGrantedAsync(context, _requiredPermissionName); + return await IsPermissionGrantedAsync(context, _requiredPermissionName!); } private static bool IsLoggedIn(DashboardContext context, bool enableTenant) diff --git a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireBackgroundJobServer.cs b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireBackgroundJobServer.cs index e24042c87b..5f3e3deb96 100644 --- a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireBackgroundJobServer.cs +++ b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireBackgroundJobServer.cs @@ -4,9 +4,9 @@ namespace Volo.Abp.Hangfire; public class AbpHangfireBackgroundJobServer { - public BackgroundJobServer HangfireJobServer { get; } + public BackgroundJobServer? HangfireJobServer { get; } - public AbpHangfireBackgroundJobServer(BackgroundJobServer hangfireJobServer) + public AbpHangfireBackgroundJobServer(BackgroundJobServer? hangfireJobServer) { HangfireJobServer = hangfireJobServer; } diff --git a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireModule.cs b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireModule.cs index 13f36751aa..6c34b86904 100644 --- a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireModule.cs +++ b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireModule.cs @@ -9,7 +9,7 @@ namespace Volo.Abp.Hangfire; [DependsOn(typeof(AbpAuthorizationAbstractionsModule))] public class AbpHangfireModule : AbpModule { - private AbpHangfireBackgroundJobServer _backgroundJobServer; + private AbpHangfireBackgroundJobServer? _backgroundJobServer; public override void ConfigureServices(ServiceConfigurationContext context) { diff --git a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireOptions.cs b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireOptions.cs index 43c5554d55..98c45348c7 100644 --- a/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireOptions.cs +++ b/framework/src/Volo.Abp.HangFire/Volo/Abp/Hangfire/AbpHangfireOptions.cs @@ -12,21 +12,18 @@ namespace Volo.Abp.Hangfire; public class AbpHangfireOptions { - [CanBeNull] - public BackgroundJobServerOptions ServerOptions { get; set; } + public BackgroundJobServerOptions? ServerOptions { get; set; } - [CanBeNull] - public IEnumerable AdditionalProcesses { get; set; } + public IEnumerable? AdditionalProcesses { get; set; } - [CanBeNull] - public JobStorage Storage { get; set; } + public JobStorage? Storage { get; set; } [NotNull] - public Func BackgroundJobServerFactory { + public Func BackgroundJobServerFactory { get => _backgroundJobServerFactory; set => _backgroundJobServerFactory = Check.NotNull(value, nameof(value)); } - private Func _backgroundJobServerFactory; + private Func _backgroundJobServerFactory; public AbpHangfireOptions() { diff --git a/framework/src/Volo.Abp.Quartz/Volo.Abp.Quartz.csproj b/framework/src/Volo.Abp.Quartz/Volo.Abp.Quartz.csproj index 71c3dd4caf..0f72827fcb 100644 --- a/framework/src/Volo.Abp.Quartz/Volo.Abp.Quartz.csproj +++ b/framework/src/Volo.Abp.Quartz/Volo.Abp.Quartz.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.Quartz Volo.Abp.Quartz $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzModule.cs b/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzModule.cs index 10e09444c5..1f0bfb0ff6 100644 --- a/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzModule.cs +++ b/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzModule.cs @@ -10,7 +10,7 @@ namespace Volo.Abp.Quartz; public class AbpQuartzModule : AbpModule { - private IScheduler _scheduler; + private IScheduler _scheduler = default!; public override void ConfigureServices(ServiceConfigurationContext context) { diff --git a/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzOptions.cs b/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzOptions.cs index 8f61f3c91d..5f6bb97fd1 100644 --- a/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzOptions.cs +++ b/framework/src/Volo.Abp.Quartz/Volo/Abp/Quartz/AbpQuartzOptions.cs @@ -13,7 +13,7 @@ public class AbpQuartzOptions /// public NameValueCollection Properties { get; set; } - public Action Configurator { get; set; } + public Action? Configurator { get; set; } /// /// How long Quartz should wait before starting. Default: 0. diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo.Abp.RabbitMQ.csproj b/framework/src/Volo.Abp.RabbitMQ/Volo.Abp.RabbitMQ.csproj index eed4f273fd..0895e07153 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo.Abp.RabbitMQ.csproj +++ b/framework/src/Volo.Abp.RabbitMQ/Volo.Abp.RabbitMQ.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.RabbitMQ Volo.Abp.RabbitMQ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs index 541bc9b852..d795342c1d 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ChannelPool.cs @@ -29,7 +29,7 @@ public class ChannelPool : IChannelPool, ISingletonDependency Logger = NullLogger.Instance; } - public virtual IChannelAccessor Acquire(string channelName = null, string connectionName = null) + public virtual IChannelAccessor Acquire(string? channelName = null, string? connectionName = null) { CheckDisposed(); @@ -49,7 +49,7 @@ public class ChannelPool : IChannelPool, ISingletonDependency ); } - protected virtual IModel CreateChannel(string channelName, string connectionName) + protected virtual IModel CreateChannel(string channelName, string? connectionName) { return ConnectionPool .Get(connectionName) diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs index 3a228f5d10..8c046ffffd 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/ConnectionPool.cs @@ -21,7 +21,7 @@ public class ConnectionPool : IConnectionPool, ISingletonDependency Connections = new ConcurrentDictionary>(); } - public virtual IConnection Get(string connectionName = null) + public virtual IConnection Get(string? connectionName = null) { connectionName ??= RabbitMqConnections.DefaultConnectionName; diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IChannelPool.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IChannelPool.cs index 75b6e77580..2ba6259fec 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IChannelPool.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IChannelPool.cs @@ -4,5 +4,5 @@ namespace Volo.Abp.RabbitMQ; public interface IChannelPool : IDisposable { - IChannelAccessor Acquire(string channelName = null, string connectionName = null); + IChannelAccessor Acquire(string? channelName = null, string? connectionName = null); } diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IConnectionPool.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IConnectionPool.cs index 09b8b407f9..dc97476c84 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IConnectionPool.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IConnectionPool.cs @@ -5,5 +5,5 @@ namespace Volo.Abp.RabbitMQ; public interface IConnectionPool : IDisposable { - IConnection Get(string connectionName = null); + IConnection Get(string? connectionName = null); } diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IRabbitMqMessageConsumerFactory.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IRabbitMqMessageConsumerFactory.cs index 31770e641b..33d0e5d07e 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IRabbitMqMessageConsumerFactory.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/IRabbitMqMessageConsumerFactory.cs @@ -14,6 +14,6 @@ public interface IRabbitMqMessageConsumerFactory IRabbitMqMessageConsumer Create( ExchangeDeclareConfiguration exchange, QueueDeclareConfiguration queue, - string connectionName = null + string? connectionName = null ); } diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs index 5c45b6aefc..1d94122008 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumer.cs @@ -23,15 +23,15 @@ public class RabbitMqMessageConsumer : IRabbitMqMessageConsumer, ITransientDepen protected AbpAsyncTimer Timer { get; } - protected ExchangeDeclareConfiguration Exchange { get; private set; } + protected ExchangeDeclareConfiguration Exchange { get; private set; } = default!; - protected QueueDeclareConfiguration Queue { get; private set; } + protected QueueDeclareConfiguration Queue { get; private set; } = default!; - protected string ConnectionName { get; private set; } + protected string? ConnectionName { get; private set; } protected ConcurrentBag> Callbacks { get; } - protected IModel Channel { get; private set; } + protected IModel? Channel { get; private set; } protected ConcurrentQueue QueueBindCommands { get; } @@ -58,7 +58,7 @@ public class RabbitMqMessageConsumer : IRabbitMqMessageConsumer, ITransientDepen public void Initialize( [NotNull] ExchangeDeclareConfiguration exchange, [NotNull] QueueDeclareConfiguration queue, - string connectionName = null) + string? connectionName = null) { Exchange = Check.NotNull(exchange, nameof(exchange)); Queue = Check.NotNull(queue, nameof(queue)); @@ -192,16 +192,16 @@ public class RabbitMqMessageConsumer : IRabbitMqMessageConsumer, ITransientDepen { foreach (var callback in Callbacks) { - await callback(Channel, basicDeliverEventArgs); + await callback(Channel!, basicDeliverEventArgs); } - Channel.BasicAck(basicDeliverEventArgs.DeliveryTag, multiple: false); + Channel?.BasicAck(basicDeliverEventArgs.DeliveryTag, multiple: false); } catch (Exception ex) { try { - Channel.BasicNack( + Channel?.BasicNack( basicDeliverEventArgs.DeliveryTag, multiple: false, requeue: true diff --git a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumerFactory.cs b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumerFactory.cs index 1b3f1714e8..8dcdf7101f 100644 --- a/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumerFactory.cs +++ b/framework/src/Volo.Abp.RabbitMQ/Volo/Abp/RabbitMQ/RabbitMqMessageConsumerFactory.cs @@ -16,7 +16,7 @@ public class RabbitMqMessageConsumerFactory : IRabbitMqMessageConsumerFactory, I public IRabbitMqMessageConsumer Create( ExchangeDeclareConfiguration exchange, QueueDeclareConfiguration queue, - string connectionName = null) + string? connectionName = null) { var consumer = ServiceScope.ServiceProvider.GetRequiredService(); consumer.Initialize(exchange, queue, connectionName);