Browse Source

Support default blob container.

pull/4105/head
Halil İbrahim Kalkan 6 years ago
parent
commit
67e79533ef
  1. 6
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/AbpBlobStoringModule.cs
  2. 4
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/BlobContainerToProviderAdapter.cs
  3. 8
      framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Containers/DefaultContainer.cs
  4. 12
      framework/test/Volo.Abp.BlobStoring.Tests/Volo/Abp/BlobStoring/Containers/BlobContainer_Injection_Tests.cs

6
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<IBlobContainer<DefaultContainer>>()
);
}
}
}

4
framework/src/Volo.Abp.BlobStoring/Volo/Abp/BlobStoring/Providers/BlobContainerToProviderAdapter.cs → 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
{

8
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
{
}
}

12
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<IBlobContainer>()
.ShouldBeOfType<TypedBlobContainerWrapper<DefaultContainer>>();
}
[Fact]
public void Should_Inject_Specified_Container_For_Generic_Interface()
{
GetRequiredService<IBlobContainer<DefaultContainer>>()
.ShouldBeOfType<TypedBlobContainerWrapper<DefaultContainer>>();
GetRequiredService<IBlobContainer<TestContainer1>>()
.ShouldBeOfType<TypedBlobContainerWrapper<TestContainer1>>();

Loading…
Cancel
Save