Browse Source

Remove PageCacheKey

pull/17642/head
Enis Necipoglu 3 years ago
parent
commit
ced33d2f4f
No known key found for this signature in database GPG Key ID: 1EC55E13241E1680
  1. 10
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs
  2. 5
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageCacheItem.cs
  3. 15
      modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageCacheKey.cs
  4. 10
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs

10
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/Pages/PageAdminAppService.cs

@ -24,12 +24,12 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
protected PageManager PageManager { get; }
protected IDistributedCache<PageCacheItem, PageCacheKey> PageCache { get; }
protected IDistributedCache<PageCacheItem> PageCache { get; }
public PageAdminAppService(
IPageRepository pageRepository,
PageManager pageManager,
IDistributedCache<PageCacheItem, PageCacheKey> pageCache)
IDistributedCache<PageCacheItem> pageCache)
{
PageRepository = pageRepository;
PageManager = pageManager;
@ -66,7 +66,7 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
input.MapExtraPropertiesTo(page);
await PageRepository.InsertAsync(page);
await PageCache.RemoveAsync(new PageCacheKey(page.Slug));
await PageCache.RemoveAsync(PageCacheItem.GetKey(page.Slug));
return ObjectMapper.Map<Page, PageDto>(page);
}
@ -80,7 +80,7 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
await InvalidateDefaultHomePageCacheAsync(considerUow: true);
}
await PageCache.RemoveAsync(new PageCacheKey(page.Slug));
await PageCache.RemoveAsync(PageCacheItem.GetKey(page.Slug));
await PageManager.SetSlugAsync(page, input.Slug);
@ -119,6 +119,6 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
protected virtual async Task InvalidateDefaultHomePageCacheAsync(bool considerUow = false)
{
await PageCache.RemoveAsync(new PageCacheKey(PageConsts.DefaultHomePageCacheKey), considerUow: considerUow);
await PageCache.RemoveAsync(PageCacheItem.GetKey(PageConsts.DefaultHomePageCacheKey), considerUow: considerUow);
}
}

5
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageCacheItem.cs

@ -16,4 +16,9 @@ public class PageCacheItem : ExtensibleObject
public string Script { get; set; }
public string Style { get; set; }
public static string GetKey(string slug)
{
return $"CmsPage_{slug}";
}
}

15
modules/cms-kit/src/Volo.CmsKit.Domain/Volo/CmsKit/Pages/PageCacheKey.cs

@ -1,15 +0,0 @@
namespace Volo.CmsKit.Pages;
public class PageCacheKey
{
public PageCacheKey(string slug)
{
Slug = slug;
}
public string Slug { get; set; }
public override string ToString()
{
return $"CmsPage_{Slug}";
}
}

10
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Pages/PagePublicAppService.cs

@ -19,12 +19,12 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
protected IPageRepository PageRepository { get; }
protected PageManager PageManager { get; }
protected IDistributedCache<PageCacheItem, PageCacheKey> PageCache { get; }
protected IDistributedCache<PageCacheItem> PageCache { get; }
public PagePublicAppService(
IPageRepository pageRepository,
PageManager pageManager,
IDistributedCache<PageCacheItem, PageCacheKey> pageCache)
IDistributedCache<PageCacheItem> pageCache)
{
PageRepository = pageRepository;
PageManager = pageManager;
@ -33,7 +33,7 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
public virtual async Task<PageDto> FindBySlugAsync(string slug)
{
var pageCacheItem = await PageCache.GetOrAddAsync(new PageCacheKey(slug), async () =>
var pageCacheItem = await PageCache.GetOrAddAsync(PageCacheItem.GetKey(slug), async () =>
{
var page = await PageRepository.FindBySlugAsync(slug);
if (page is null)
@ -54,7 +54,7 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
public virtual async Task<PageDto> FindDefaultHomePageAsync()
{
var pageCacheItem = await PageCache.GetAsync(new PageCacheKey(PageConsts.DefaultHomePageCacheKey));
var pageCacheItem = await PageCache.GetAsync(PageCacheItem.GetKey(PageConsts.DefaultHomePageCacheKey));
if (pageCacheItem is null)
{
var page = await PageManager.GetHomePageAsync();
@ -65,7 +65,7 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
pageCacheItem = ObjectMapper.Map<Page, PageCacheItem>(page);
await PageCache.SetAsync(new PageCacheKey(PageConsts.DefaultHomePageCacheKey), pageCacheItem,
await PageCache.SetAsync(PageCacheItem.GetKey(PageConsts.DefaultHomePageCacheKey), pageCacheItem,
new DistributedCacheEntryOptions { AbsoluteExpiration = DateTimeOffset.Now.AddHours(1) });
}

Loading…
Cancel
Save