@@ -11,6 +11,17 @@ namespace Microsoft.Extensions.DependencyInjection
1111{
1212 public static class EnyimMemcachedServiceCollectionExtensions
1313 {
14+ /// <summary>
15+ /// Add EnyimMemcached to the specified <see cref="IServiceCollection"/>.
16+ /// Read configuration via IConfiguration.GetSection("enyimMemcached")
17+ /// </summary>
18+ /// <param name="services"></param>
19+ /// <returns></returns>
20+ public static IServiceCollection AddEnyimMemcached ( this IServiceCollection services )
21+ {
22+ return AddEnyimMemcachedInternal ( services , null ) ;
23+ }
24+
1425 public static IServiceCollection AddEnyimMemcached ( this IServiceCollection services , Action < MemcachedClientOptions > setupAction )
1526 {
1627 if ( services == null )
@@ -23,7 +34,7 @@ public static IServiceCollection AddEnyimMemcached(this IServiceCollection servi
2334 throw new ArgumentNullException ( nameof ( setupAction ) ) ;
2435 }
2536
26- return AddEnyimMemcached ( services , s => s . Configure ( setupAction ) ) ;
37+ return AddEnyimMemcachedInternal ( services , s => s . Configure ( setupAction ) ) ;
2738 }
2839
2940 public static IServiceCollection AddEnyimMemcached ( this IServiceCollection services , IConfigurationSection configurationSection )
@@ -38,7 +49,7 @@ public static IServiceCollection AddEnyimMemcached(this IServiceCollection servi
3849 throw new ArgumentNullException ( nameof ( configurationSection ) ) ;
3950 }
4051
41- return AddEnyimMemcached ( services , s => s . Configure < MemcachedClientOptions > ( configurationSection ) ) ;
52+ return AddEnyimMemcachedInternal ( services , s => s . Configure < MemcachedClientOptions > ( configurationSection ) ) ;
4253 }
4354
4455 public static IServiceCollection AddEnyimMemcached ( this IServiceCollection services , IConfiguration configuration , string sectionKey = "enyimMemcached" )
@@ -53,13 +64,13 @@ public static IServiceCollection AddEnyimMemcached(this IServiceCollection servi
5364 throw new ArgumentNullException ( nameof ( configuration ) ) ;
5465 }
5566
56- return AddEnyimMemcached ( services , s => s . Configure < MemcachedClientOptions > ( configuration . GetSection ( sectionKey ) ) ) ;
67+ return AddEnyimMemcachedInternal ( services , s => s . Configure < MemcachedClientOptions > ( configuration . GetSection ( sectionKey ) ) ) ;
5768 }
5869
59- private static IServiceCollection AddEnyimMemcached ( IServiceCollection services , Action < IServiceCollection > configure )
70+ private static IServiceCollection AddEnyimMemcachedInternal ( IServiceCollection services , Action < IServiceCollection > configure )
6071 {
6172 services . AddOptions ( ) ;
62- configure ( services ) ;
73+ configure ? . Invoke ( services ) ;
6374
6475 services . TryAddSingleton < ITranscoder , DefaultTranscoder > ( ) ;
6576 services . TryAddSingleton < IMemcachedKeyTransformer , DefaultKeyTransformer > ( ) ;
0 commit comments