diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b770803f..ba60d4bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,11 +9,11 @@ on: jobs: test: runs-on: ubuntu-latest - container: mcr.microsoft.com/dotnet/sdk:8.0 + container: mcr.microsoft.com/dotnet/sdk:9.0 services: memcached: - image: memcached + image: memcached:1.5.8 steps: - name: Checkout diff --git a/sample/SampleWebApp/SampleWebApp.csproj b/sample/SampleWebApp/SampleWebApp.csproj index 1423fa27..05165448 100644 --- a/sample/SampleWebApp/SampleWebApp.csproj +++ b/sample/SampleWebApp/SampleWebApp.csproj @@ -1,7 +1,7 @@  - net8.0 + net9.0 Enyim.Caching.SampleWebApp Enyim.Caching.SampleWebApp @@ -16,4 +16,4 @@ - + \ No newline at end of file diff --git a/src/Enyim.Caching/Configuration/MemcachedClientConfiguration.cs b/src/Enyim.Caching/Configuration/MemcachedClientConfiguration.cs index ea657399..77d40e65 100755 --- a/src/Enyim.Caching/Configuration/MemcachedClientConfiguration.cs +++ b/src/Enyim.Caching/Configuration/MemcachedClientConfiguration.cs @@ -43,6 +43,7 @@ public MemcachedClientConfiguration( _logger = loggerFactory.CreateLogger(); var options = optionsAccessor.Value; + #if NET5_0_OR_GREATER if ((options == null || options.Servers.Count == 0) && configuration != null) { diff --git a/src/Enyim.Caching/Enyim.Caching.csproj b/src/Enyim.Caching/Enyim.Caching.csproj index d0b761e1..03d3110d 100755 --- a/src/Enyim.Caching/Enyim.Caching.csproj +++ b/src/Enyim.Caching/Enyim.Caching.csproj @@ -3,7 +3,7 @@ EnyimMemcachedCore is a Memcached client library for .NET. Add services.AddEnyimMemcached() in Startup. Inject IMemcachedClient into constructors. cnblogs.com - net6.0;net7.0;net8.0;net48;net481 + net6.0;net7.0;net8.0;net9.0;net48;net481 true EnyimMemcachedCore EnyimMemcachedCore @@ -19,26 +19,26 @@ - + - - - - - + + + + + - + - + - + diff --git a/test/DistributedCacheTests/DistributedCacheTests.csproj b/test/DistributedCacheTests/DistributedCacheTests.csproj index de9e241d..6c45b44c 100644 --- a/test/DistributedCacheTests/DistributedCacheTests.csproj +++ b/test/DistributedCacheTests/DistributedCacheTests.csproj @@ -1,7 +1,7 @@  - net8.0 + net9.0 enable enable @@ -9,14 +9,14 @@ - - + + - + runtime; build; native; contentfiles; analyzers; buildtransitive all - + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -32,4 +32,4 @@ - + \ No newline at end of file diff --git a/test/Enyim.Caching.Tests/Enyim.Caching.Tests.csproj b/test/Enyim.Caching.Tests/Enyim.Caching.Tests.csproj index b576cc6c..a5a728be 100644 --- a/test/Enyim.Caching.Tests/Enyim.Caching.Tests.csproj +++ b/test/Enyim.Caching.Tests/Enyim.Caching.Tests.csproj @@ -1,15 +1,15 @@  - net8.0 + net9.0 false - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers diff --git a/test/Enyim.StressTest/Enyim.StressTest.csproj b/test/Enyim.StressTest/Enyim.StressTest.csproj index 95c709fa..d4b8db4c 100644 --- a/test/Enyim.StressTest/Enyim.StressTest.csproj +++ b/test/Enyim.StressTest/Enyim.StressTest.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 @@ -17,13 +17,13 @@ - - - - + + + + - + \ No newline at end of file diff --git a/test/MemcachedTest/MemcachedClientTest.cs b/test/MemcachedTest/MemcachedClientTest.cs index fba3b636..b7e41561 100755 --- a/test/MemcachedTest/MemcachedClientTest.cs +++ b/test/MemcachedTest/MemcachedClientTest.cs @@ -295,44 +295,37 @@ public async Task MultiGetTest() [Fact] public virtual async Task MultiGetWithCasTest() { - using (var client = GetClient()) - { - var keys = new List(); - var tasks = new List>(); - - for (int i = 0; i < 10; i++) - { - string k = $"Hello_Multi_Get_{Guid.NewGuid()}_{new Random().Next()}" + i; - keys.Add(k); + using var client = GetClient(); + var keys = new List(); + var tasks = new List>(); - tasks.Add(client.StoreAsync(StoreMode.Set, k, i, DateTime.Now.AddSeconds(300))); - } - - await Task.WhenAll(tasks); + for (int i = 0; i < 10; i++) + { + string k = $"Hello_Multi_Get_{Guid.NewGuid()}_{new Random().Next()}" + i; + keys.Add(k); - foreach (var task in tasks) - { - Assert.True(await task, "Store failed"); - } + bool success = await client.StoreAsync(StoreMode.Set, k, i, DateTime.Now.AddSeconds(600)); + Assert.True(success, "Store failed"); + } - var retvals = await client.GetWithCasAsync(keys); + var retvals = await client.GetWithCasAsync(keys); - Assert.Equal(keys.Count, retvals.Count); + await Task.Delay(100); - tasks.Clear(); - for (int i = 0; i < keys.Count; i++) - { - string key = keys[i]; + Assert.Equal(keys.Count, retvals.Count); - Assert.True(retvals.TryGetValue(key, out var value), "missing key: " + key); - Assert.Equal(value.Result, i); - Assert.NotEqual(value.Cas, (ulong)0); + for (int i = 0; i < keys.Count; i++) + { + string key = keys[i]; - tasks.Add(client.RemoveAsync(key)); - } + Assert.True(retvals.TryGetValue(key, out var value), "missing key: " + key); + Assert.Equal(value.Result, i); + Assert.NotEqual((ulong)0, value.Cas); - await Task.WhenAll(tasks); + tasks.Add(client.RemoveAsync(key)); } + + await Task.WhenAll(tasks); } [Fact] diff --git a/test/MemcachedTest/MemcachedTest.csproj b/test/MemcachedTest/MemcachedTest.csproj index b576cc6c..a5a728be 100755 --- a/test/MemcachedTest/MemcachedTest.csproj +++ b/test/MemcachedTest/MemcachedTest.csproj @@ -1,15 +1,15 @@  - net8.0 + net9.0 false - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers diff --git a/test/SampleWebApp.IntegrationTests/SampleWebApp.IntegrationTests.csproj b/test/SampleWebApp.IntegrationTests/SampleWebApp.IntegrationTests.csproj index e3a330bd..dfb25b81 100644 --- a/test/SampleWebApp.IntegrationTests/SampleWebApp.IntegrationTests.csproj +++ b/test/SampleWebApp.IntegrationTests/SampleWebApp.IntegrationTests.csproj @@ -1,15 +1,15 @@  - net8.0 + net9.0 false - - - - + + + + all runtime; build; native; contentfiles; analyzers