From 5031d17cd7f3ff0757b89115ec25a530f3c97b4b Mon Sep 17 00:00:00 2001 From: dudu Date: Wed, 23 May 2018 11:58:22 +0800 Subject: [PATCH] Add a simpler method to AddEnyimMemcached --- Enyim.Caching/Enyim.Caching.csproj | 2 +- ...yimMemcachedServiceCollectionExtensions.cs | 19 +++++++++++++++++-- SampleWebApp/Startup.cs | 4 +++- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Enyim.Caching/Enyim.Caching.csproj b/Enyim.Caching/Enyim.Caching.csproj index 614fcfe5..6d1c8df3 100755 --- a/Enyim.Caching/Enyim.Caching.csproj +++ b/Enyim.Caching/Enyim.Caching.csproj @@ -2,7 +2,7 @@ EnyimMemcachedCore is a Memcached client library for .NET Core. Usage: Add services.AddEnyimMemcached(...) and app.UseEnyimMemcached() in Startup. Add IMemcachedClient into constructor. - 2.1.0.7 + 2.1.1 cnblogs.com netstandard2.0 true diff --git a/Enyim.Caching/EnyimMemcachedServiceCollectionExtensions.cs b/Enyim.Caching/EnyimMemcachedServiceCollectionExtensions.cs index b6f20238..3a130839 100644 --- a/Enyim.Caching/EnyimMemcachedServiceCollectionExtensions.cs +++ b/Enyim.Caching/EnyimMemcachedServiceCollectionExtensions.cs @@ -26,7 +26,22 @@ public static IServiceCollection AddEnyimMemcached(this IServiceCollection servi return AddEnyimMemcached(services, s => s.Configure(setupAction)); } - public static IServiceCollection AddEnyimMemcached(this IServiceCollection services, IConfiguration configuration) + public static IServiceCollection AddEnyimMemcached(this IServiceCollection services, IConfigurationSection configurationSection) + { + if (services == null) + { + throw new ArgumentNullException(nameof(services)); + } + + if (configurationSection == null) + { + throw new ArgumentNullException(nameof(configurationSection)); + } + + return AddEnyimMemcached(services, s => s.Configure(configurationSection)); + } + + public static IServiceCollection AddEnyimMemcached(this IServiceCollection services, IConfiguration configuration, string sectionKey = "enyimMemcached") { if (services == null) { @@ -38,7 +53,7 @@ public static IServiceCollection AddEnyimMemcached(this IServiceCollection servi throw new ArgumentNullException(nameof(configuration)); } - return AddEnyimMemcached(services, s => s.Configure(configuration)); + return AddEnyimMemcached(services, s => s.Configure(configuration.GetSection(sectionKey))); } private static IServiceCollection AddEnyimMemcached(IServiceCollection services, Action configure) diff --git a/SampleWebApp/Startup.cs b/SampleWebApp/Startup.cs index 96202fc9..fbf84023 100644 --- a/SampleWebApp/Startup.cs +++ b/SampleWebApp/Startup.cs @@ -32,7 +32,9 @@ public Startup(IHostingEnvironment env) public void ConfigureServices(IServiceCollection services) { - services.AddEnyimMemcached(Configuration.GetSection("enyimMemcached")); + services.AddEnyimMemcached(Configuration); + //services.AddEnyimMemcached(Configuration, "enyimMemcached"); + //services.AddEnyimMemcached(Configuration.GetSection("enyimMemcached")); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)