From 69291a9518881d7c4b3a42fc9425a1336fdf8a10 Mon Sep 17 00:00:00 2001 From: YrinLeung Date: Tue, 26 Mar 2019 23:53:40 +0800 Subject: [PATCH] Fix bug of HybridCachingProvider --- .../HybridCachingProvider.cs | 4 +-- .../CachingTests/HybridCachingTest.cs | 33 +++++++++---------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/EasyCaching.HybridCache/HybridCachingProvider.cs b/src/EasyCaching.HybridCache/HybridCachingProvider.cs index ca2d79a1..63075f0d 100644 --- a/src/EasyCaching.HybridCache/HybridCachingProvider.cs +++ b/src/EasyCaching.HybridCache/HybridCachingProvider.cs @@ -47,7 +47,7 @@ public class HybridCachingProvider : IHybridCachingProvider /// Bus. /// Logger factory. public HybridCachingProvider( - HybridCachingOptions optionsAccs + IOptions optionsAccs , IEasyCachingProviderFactory factory , IEasyCachingBus bus = null , ILoggerFactory loggerFactory = null @@ -55,7 +55,7 @@ HybridCachingOptions optionsAccs { ArgumentCheck.NotNull(factory, nameof(factory)); - this._options = optionsAccs; + this._options = optionsAccs.Value; ArgumentCheck.NotNullOrWhiteSpace(_options.TopicName, nameof(_options.TopicName)); diff --git a/test/EasyCaching.UnitTests/CachingTests/HybridCachingTest.cs b/test/EasyCaching.UnitTests/CachingTests/HybridCachingTest.cs index 9f78caaa..8dc8e2a8 100644 --- a/test/EasyCaching.UnitTests/CachingTests/HybridCachingTest.cs +++ b/test/EasyCaching.UnitTests/CachingTests/HybridCachingTest.cs @@ -7,14 +7,15 @@ using EasyCaching.InMemory; using EasyCaching.Redis; using Microsoft.Extensions.DependencyInjection; + using Microsoft.Extensions.Options; using System; using System.Threading.Tasks; using Xunit; public class HybridCachingTest //: BaseCachingProviderTest { - private HybridCachingProvider hybridCaching_1; - private HybridCachingProvider hybridCaching_2; + private IHybridCachingProvider hybridCaching_1; + //private HybridCachingProvider hybridCaching_2; private IEasyCachingProviderFactory factory; private string _namespace; @@ -33,11 +34,21 @@ public HybridCachingTest() config.DBConfig.Database = 5; }, "myredis"); + option.UseHybrid(config => + { + config.EnableLogging = false; + config.TopicName = "test_topic"; + config.LocalCacheProviderName = "m1"; + config.DistributedCacheProviderName = "myredis"; + }); + option.WithRedisBus(config => { config.Endpoints.Add(new Core.Configurations.ServerEndPoint("127.0.0.1", 6379)); config.Database = 6; }); + + }); IServiceProvider serviceProvider = services.BuildServiceProvider(); @@ -45,21 +56,7 @@ public HybridCachingTest() var bus = serviceProvider.GetService(); - hybridCaching_1 = new HybridCachingProvider(new HybridCachingOptions - { - EnableLogging = false, - TopicName = "test_topic", - LocalCacheProviderName = "m1", - DistributedCacheProviderName = "myredis" - }, factory, bus); - - hybridCaching_2 = new HybridCachingProvider(new HybridCachingOptions - { - EnableLogging = false, - TopicName = "test_topic", - LocalCacheProviderName = "m2", - DistributedCacheProviderName = "myredis" - }, factory, bus); + hybridCaching_1 = serviceProvider.GetService(); } [Fact] @@ -122,7 +119,7 @@ public void Second_Client_Set_Same_Key_Should_Get_New_Value() hybridCaching_1.Set(cacheKey, "val", TimeSpan.FromSeconds(30)); - hybridCaching_2.Set(cacheKey, "value", TimeSpan.FromSeconds(30)); + //hybridCaching_2.Set(cacheKey, "value", TimeSpan.FromSeconds(30)); //System.Threading.Thread.Sleep(5000);