Browse Source

Merge pull request #22811 from abpframework/Microsoft.Extensions.Caching.Hybrid

Downgrade `MongoSandbox` to `1.0.1`.
pull/22814/head
maliming 1 year ago
committed by GitHub
parent
commit
cff2545164
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      Directory.Packages.props
  2. 2
      framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs
  3. 15
      framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs

6
Directory.Packages.props

@ -38,10 +38,10 @@
<PackageVersion Include="EphemeralMongo6.runtime.linux-x64" Version="2.0.0" />
<PackageVersion Include="EphemeralMongo6.runtime.osx-x64" Version="1.1.3" />
<PackageVersion Include="EphemeralMongo6.runtime.win-x64" Version="2.0.0" />
<PackageVersion Include="MongoSandbox.Core" Version="2.0.0" />
<PackageVersion Include="MongoSandbox6.runtime.linux-x64" Version="2.0.0" />
<PackageVersion Include="MongoSandbox.Core" Version="1.0.1" />
<PackageVersion Include="MongoSandbox6.runtime.linux-x64" Version="1.0.1" />
<PackageVersion Include="MongoSandbox6.runtime.osx-x64" Version="1.0.1" />
<PackageVersion Include="MongoSandbox6.runtime.win-x64" Version="2.0.0" />
<PackageVersion Include="MongoSandbox6.runtime.win-x64" Version="1.0.1" />
<PackageVersion Include="FluentValidation" Version="11.11.0" />
<PackageVersion Include="Google.Cloud.Storage.V1" Version="4.13.0" />
<PackageVersion Include="Hangfire.AspNetCore" Version="1.8.18" />

2
framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs

@ -1,7 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using System;
using Microsoft.Extensions.Caching.Hybrid;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Caching.Hybrid;
using Volo.Abp.Json;
using Volo.Abp.Modularity;

15
framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs

@ -75,7 +75,7 @@ public class AbpHybridCache<TCacheItem, TCacheKey> : IHybridCache<TCacheItem, TC
protected HybridCache HybridCache { get; }
protected IDistributedCache DistributedCacheCache { get; }
protected IDistributedCache DistributedCache { get; }
protected ICancellationTokenProvider CancellationTokenProvider { get; }
@ -105,7 +105,7 @@ public class AbpHybridCache<TCacheItem, TCacheKey> : IHybridCache<TCacheItem, TC
ServiceProvider = serviceProvider;
DistributedCacheOption = distributedCacheOption.Value;
HybridCache = hybridCache;
DistributedCacheCache = distributedCache;
DistributedCache = distributedCache;
CancellationTokenProvider = cancellationTokenProvider;
Logger = NullLogger<AbpHybridCache<TCacheItem, TCacheKey>>.Instance;
KeyNormalizer = keyNormalizer;
@ -215,10 +215,15 @@ public class AbpHybridCache<TCacheItem, TCacheKey> : IHybridCache<TCacheItem, TC
}
}
var bytes = await DistributedCacheCache.GetAsync(NormalizeKey(key), token);
if (bytes != null)
if (await DistributedCache.GetAsync(NormalizeKey(key), token) != null)
{
return ResolveSerializer().Deserialize(new ReadOnlySequence<byte>(bytes, 0, bytes.Length));;
// Because HybridCache wraps the cache in L2(distributed cache), we can’t unwrap it directly and can only retrieve the value through its API
return await HybridCache.GetOrCreateAsync(
key: NormalizeKey(key),
factory: async cancel => await factory(),
options: optionsFactory?.Invoke(),
tags: null,
cancellationToken: token);
}
value = await factory();

Loading…
Cancel
Save