Skip to content

Commit 70c9828

Browse files
committed
Allow to inject the service transient
1 parent af3bd13 commit 70c9828

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
bin
22
obj
3+
.idea
4+
*.DotSettings.user

CoreHelpers.Branding.Runtime/IServiceCollectionExtensions.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ public static IServiceCollection AddBrandingServices(this IServiceCollection ser
1212
services.AddScoped<IBrandingStateService, BrandingStateService>();
1313
return services;
1414
}
15+
16+
public static IServiceCollection AddBrandingServicesTransient(this IServiceCollection services)
17+
{
18+
services.AddTransient<IBrandingManager, BrandingManager>();
19+
services.AddTransient<IBrandingStateService, BrandingStateService>();
20+
return services;
21+
}
1522
}
1623
}
1724

CoreHelpers.Branding.Stores.AzureStorage/IServiceCollectionExtensions.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,39 @@
66
namespace CoreHelpers.Branding.Stores.AzureStorage
77
{
88
public static class IServiceCollectionExtensions
9-
{
9+
{
1010
public static IServiceCollection AddBrandingServices4AzureStorage(this IServiceCollection services, string connectionString, string container)
1111
{
12-
services.AddScoped<IBrandingStore>((serviceProvider) => new AzureStorageBrandingStore(connectionString, container));
12+
return services.AddBrandingServices4AzureStorage(connectionString, container, true);
13+
}
14+
15+
public static IServiceCollection AddBrandingServices4AzureStorage(this IServiceCollection services, string connectionString, string container, bool scoped)
16+
{
17+
if (scoped)
18+
{
19+
services.AddScoped<IBrandingStore>((serviceProvider) => new AzureStorageBrandingStore(connectionString, container));
20+
}
21+
else
22+
{
23+
services.AddTransient<IBrandingStore>((serviceProvider) => new AzureStorageBrandingStore(connectionString, container));
24+
}
25+
1326
return services;
1427
}
1528

1629
public static IServiceCollection AddBrandingServices4AzureStorage(this IServiceCollection services, IConfiguration configuration)
30+
{
31+
return services.AddBrandingServices4AzureStorage(configuration, true);
32+
}
33+
34+
public static IServiceCollection AddBrandingServices4AzureStorage(this IServiceCollection services, IConfiguration configuration, bool scoped)
1735
{
1836
// search the configuration
1937
var connectionString = configuration.GetValue<string>("Branding:Stores:AzureStorage:ConnectionString");
2038
var container = configuration.GetValue<string>("Branding:Stores:AzureStorage:Container");
2139

2240
// setup
23-
return services.AddBrandingServices4AzureStorage(connectionString, container);
41+
return services.AddBrandingServices4AzureStorage(connectionString, container, scoped);
2442
}
2543
}
2644
}

0 commit comments

Comments
 (0)