diff --git a/framework/src/Volo.Abp.BlobStoring/Volo.Abp.BlobStoring.csproj b/framework/src/Volo.Abp.BlobStoring/Volo.Abp.BlobStoring.csproj index 6b3c44a49b..dc29c32a63 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo.Abp.BlobStoring.csproj +++ b/framework/src/Volo.Abp.BlobStoring/Volo.Abp.BlobStoring.csproj @@ -5,6 +5,8 @@ netstandard2.0;netstandard2.1;net7.0 + enable + Nullable Volo.Abp.BlobStoring Volo.Abp.BlobStoring $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs index f546a59adf..13eb0dcc68 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainer.cs @@ -61,7 +61,7 @@ public class BlobContainer : IBlobContainer ); } - public Task GetOrNullAsync( + public Task GetOrNullAsync( string name, CancellationToken cancellationToken = default) { @@ -118,9 +118,9 @@ public class BlobContainer : IBlobContainer await Provider.SaveAsync( new BlobProviderSaveArgs( - blobNormalizeNaming.ContainerName, + blobNormalizeNaming.ContainerName!, Configuration, - blobNormalizeNaming.BlobName, + blobNormalizeNaming.BlobName!, stream, overrideExisting, CancellationTokenProvider.FallbackToProvider(cancellationToken) @@ -140,9 +140,9 @@ public class BlobContainer : IBlobContainer return await Provider.DeleteAsync( new BlobProviderDeleteArgs( - blobNormalizeNaming.ContainerName, + blobNormalizeNaming.ContainerName!, Configuration, - blobNormalizeNaming.BlobName, + blobNormalizeNaming.BlobName!, CancellationTokenProvider.FallbackToProvider(cancellationToken) ) ); @@ -160,9 +160,9 @@ public class BlobContainer : IBlobContainer return await Provider.ExistsAsync( new BlobProviderExistsArgs( - blobNormalizeNaming.ContainerName, + blobNormalizeNaming.ContainerName!, Configuration, - blobNormalizeNaming.BlobName, + blobNormalizeNaming.BlobName!, CancellationTokenProvider.FallbackToProvider(cancellationToken) ) ); @@ -185,7 +185,7 @@ public class BlobContainer : IBlobContainer return stream; } - public virtual async Task GetOrNullAsync( + public virtual async Task GetOrNullAsync( string name, CancellationToken cancellationToken = default) { @@ -196,9 +196,9 @@ public class BlobContainer : IBlobContainer return await Provider.GetOrNullAsync( new BlobProviderGetArgs( - blobNormalizeNaming.ContainerName, + blobNormalizeNaming.ContainerName!, Configuration, - blobNormalizeNaming.BlobName, + blobNormalizeNaming.BlobName!, CancellationTokenProvider.FallbackToProvider(cancellationToken) ) ); diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs index 20121b3144..fe0a0e09f9 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerConfiguration.cs @@ -10,7 +10,7 @@ public class BlobContainerConfiguration /// /// The provider to be used to store BLOBs of this container. /// - public Type ProviderType { get; set; } + public Type? ProviderType { get; set; } /// /// Indicates whether this container is multi-tenant or not. @@ -26,25 +26,23 @@ public class BlobContainerConfiguration public ITypeList NamingNormalizers { get; } - [NotNull] private readonly Dictionary _properties; + [NotNull] private readonly Dictionary _properties; - [CanBeNull] private readonly BlobContainerConfiguration _fallbackConfiguration; + private readonly BlobContainerConfiguration? _fallbackConfiguration; - public BlobContainerConfiguration(BlobContainerConfiguration fallbackConfiguration = null) + public BlobContainerConfiguration(BlobContainerConfiguration? fallbackConfiguration = null) { NamingNormalizers = new TypeList(); _fallbackConfiguration = fallbackConfiguration; - _properties = new Dictionary(); + _properties = new Dictionary(); } - [CanBeNull] - public T GetConfigurationOrDefault(string name, T defaultValue = default) + public T? GetConfigurationOrDefault(string name, T? defaultValue = default) { - return (T)GetConfigurationOrNull(name, defaultValue); + return (T?)GetConfigurationOrNull(name, defaultValue); } - [CanBeNull] - public object GetConfigurationOrNull(string name, object defaultValue = null) + public object? GetConfigurationOrNull(string name, object? defaultValue = null) { return _properties.GetOrDefault(name) ?? _fallbackConfiguration?.GetConfigurationOrNull(name, defaultValue) ?? @@ -52,7 +50,7 @@ public class BlobContainerConfiguration } [NotNull] - public BlobContainerConfiguration SetConfiguration([NotNull] string name, [CanBeNull] object value) + public BlobContainerConfiguration SetConfiguration([NotNull] string name, object? value) { Check.NotNullOrWhiteSpace(name, nameof(name)); Check.NotNull(value, nameof(value)); diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerExtensions.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerExtensions.cs index b9c96bad08..0bc57ddc35 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerExtensions.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerExtensions.cs @@ -37,7 +37,7 @@ public static class BlobContainerExtensions } } - public static async Task GetAllBytesOrNullAsync( + public static async Task GetAllBytesOrNullAsync( this IBlobContainer container, string name, CancellationToken cancellationToken = default) diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerNameAttribute.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerNameAttribute.cs index 4eb597053d..e72df48f17 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerNameAttribute.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobContainerNameAttribute.cs @@ -32,7 +32,7 @@ public class BlobContainerNameAttribute : Attribute if (nameAttribute == null) { - return type.FullName; + return type.FullName!; } return nameAttribute.GetName(type); diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNaming.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNaming.cs index 301b030a61..34f46a49cc 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNaming.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNaming.cs @@ -2,11 +2,11 @@ public class BlobNormalizeNaming { - public string ContainerName { get; } + public string? ContainerName { get; } - public string BlobName { get; } + public string? BlobName { get; } - public BlobNormalizeNaming(string containerName, string blobName) + public BlobNormalizeNaming(string? containerName, string? blobName) { ContainerName = containerName; BlobName = blobName; diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNamingService.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNamingService.cs index 42fd3759c9..397b48ca0c 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNamingService.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobNormalizeNamingService.cs @@ -16,8 +16,8 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien public BlobNormalizeNaming NormalizeNaming( BlobContainerConfiguration configuration, - string containerName, - string blobName) + string? containerName, + string? blobName) { if (!configuration.NamingNormalizers.Any()) @@ -33,8 +33,8 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien .GetRequiredService(normalizerType) .As(); - containerName = containerName.IsNullOrWhiteSpace() ? containerName : normalizer.NormalizeContainerName(containerName); - blobName = blobName.IsNullOrWhiteSpace() ? blobName : normalizer.NormalizeBlobName(blobName); + containerName = containerName.IsNullOrWhiteSpace() ? containerName : normalizer.NormalizeContainerName(containerName!); + blobName = blobName.IsNullOrWhiteSpace() ? blobName : normalizer.NormalizeBlobName(blobName!); } return new BlobNormalizeNaming(containerName, blobName); @@ -48,7 +48,7 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien return containerName; } - return NormalizeNaming(configuration, containerName, null).ContainerName; + return NormalizeNaming(configuration, containerName, null).ContainerName!; } public string NormalizeBlobName(BlobContainerConfiguration configuration, string blobName) @@ -58,6 +58,6 @@ public class BlobNormalizeNamingService : IBlobNormalizeNamingService, ITransien return blobName; } - return NormalizeNaming(configuration, null, blobName).BlobName; + return NormalizeNaming(configuration, null, blobName).BlobName!; } } diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs index ca7b14476e..8e7e923ed8 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/BlobProviderBase.cs @@ -14,7 +14,7 @@ public abstract class BlobProviderBase : IBlobProvider public abstract Task GetOrNullAsync(BlobProviderGetArgs args); - protected virtual async Task TryCopyToMemoryStreamAsync(Stream stream, CancellationToken cancellationToken = default) + protected virtual async Task TryCopyToMemoryStreamAsync(Stream? stream, CancellationToken cancellationToken = default) { if (stream == null) { diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobContainer.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobContainer.cs index 8d6328bca7..e43b596c8d 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobContainer.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/IBlobContainer.cs @@ -78,7 +78,7 @@ public interface IBlobContainer /// /// A to read the blob data. /// - Task GetOrNullAsync( + Task GetOrNullAsync( string name, CancellationToken cancellationToken = default );