From 67e79533efbeeec7647e38536a60ce3f869a3cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Tue, 26 May 2020 07:10:17 +0300 Subject: [PATCH] Support default blob container. --- .../Volo/Abp/BlobStoring/AbpBlobStoringModule.cs | 6 ++++++ .../BlobContainerToProviderAdapter.cs | 4 ++-- .../Abp/BlobStoring/Containers/DefaultContainer.cs | 8 ++++++++ .../Containers/BlobContainer_Injection_Tests.cs | 12 +++++++++++- 4 files changed, 27 insertions(+), 3 deletions(-) rename framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/{Providers => Containers}/BlobContainerToProviderAdapter.cs (97%) create mode 100644 framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/DefaultContainer.cs diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/AbpBlobStoringModule.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/AbpBlobStoringModule.cs index d2c4aa87bc..99806d605b 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/AbpBlobStoringModule.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/AbpBlobStoringModule.cs @@ -12,6 +12,12 @@ namespace Volo.Abp.BlobStoring typeof(IBlobContainer<>), typeof(TypedBlobContainerWrapper<>) ); + + context.Services.AddTransient( + typeof(IBlobContainer), + serviceProvider => serviceProvider + .GetRequiredService>() + ); } } } \ No newline at end of file diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Providers/BlobContainerToProviderAdapter.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/BlobContainerToProviderAdapter.cs similarity index 97% rename from framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Providers/BlobContainerToProviderAdapter.cs rename to framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/BlobContainerToProviderAdapter.cs index 14f1128329..0e134bf229 100644 --- a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Providers/BlobContainerToProviderAdapter.cs +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/BlobContainerToProviderAdapter.cs @@ -1,9 +1,9 @@ using System.IO; using System.Threading; using System.Threading.Tasks; -using Volo.Abp.BlobStoring.Containers; +using Volo.Abp.BlobStoring.Providers; -namespace Volo.Abp.BlobStoring.Providers +namespace Volo.Abp.BlobStoring.Containers { public class BlobContainerToProviderAdapter : IBlobContainer { diff --git a/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/DefaultContainer.cs b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/DefaultContainer.cs new file mode 100644 index 0000000000..7afc3c83ac --- /dev/null +++ b/framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/DefaultContainer.cs @@ -0,0 +1,8 @@ +namespace Volo.Abp.BlobStoring.Containers +{ + [BlobContainerName("Default")] + public class DefaultContainer + { + + } +} \ No newline at end of file diff --git a/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/Containers/BlobContainer_Injection_Tests.cs b/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/Containers/BlobContainer_Injection_Tests.cs index bc5eb79d9f..6e55922758 100644 --- a/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/Containers/BlobContainer_Injection_Tests.cs +++ b/framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/Containers/BlobContainer_Injection_Tests.cs @@ -7,8 +7,18 @@ namespace Volo.Abp.BlobStoring.Containers public class BlobContainer_Injection_Tests : AbpBlobStoringTestBase { [Fact] - public void Test() + public void Should_Inject_DefaultContainer_For_Non_Generic_Interface() { + GetRequiredService() + .ShouldBeOfType>(); + } + + [Fact] + public void Should_Inject_Specified_Container_For_Generic_Interface() + { + GetRequiredService>() + .ShouldBeOfType>(); + GetRequiredService>() .ShouldBeOfType>();