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 PageManager PageManager { get; }
protected IDistributedCache<PageCacheItem, PageCacheKey> PageCache { get; } protected IDistributedCache<PageCacheItem> PageCache { get; }
public PageAdminAppService( public PageAdminAppService(
IPageRepository pageRepository, IPageRepository pageRepository,
PageManager pageManager, PageManager pageManager,
IDistributedCache<PageCacheItem, PageCacheKey> pageCache) IDistributedCache<PageCacheItem> pageCache)
{ {
PageRepository = pageRepository; PageRepository = pageRepository;
PageManager = pageManager; PageManager = pageManager;
@ -66,7 +66,7 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
input.MapExtraPropertiesTo(page); input.MapExtraPropertiesTo(page);
await PageRepository.InsertAsync(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); return ObjectMapper.Map<Page, PageDto>(page);
} }
@ -80,7 +80,7 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
await InvalidateDefaultHomePageCacheAsync(considerUow: true); await InvalidateDefaultHomePageCacheAsync(considerUow: true);
} }
await PageCache.RemoveAsync(new PageCacheKey(page.Slug)); await PageCache.RemoveAsync(PageCacheItem.GetKey(page.Slug));
await PageManager.SetSlugAsync(page, input.Slug); await PageManager.SetSlugAsync(page, input.Slug);
@ -119,6 +119,6 @@ public class PageAdminAppService : CmsKitAdminAppServiceBase, IPageAdminAppServi
protected virtual async Task InvalidateDefaultHomePageCacheAsync(bool considerUow = false) 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 Script { get; set; }
public string Style { 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 IPageRepository PageRepository { get; }
protected PageManager PageManager { get; } protected PageManager PageManager { get; }
protected IDistributedCache<PageCacheItem, PageCacheKey> PageCache { get; } protected IDistributedCache<PageCacheItem> PageCache { get; }
public PagePublicAppService( public PagePublicAppService(
IPageRepository pageRepository, IPageRepository pageRepository,
PageManager pageManager, PageManager pageManager,
IDistributedCache<PageCacheItem, PageCacheKey> pageCache) IDistributedCache<PageCacheItem> pageCache)
{ {
PageRepository = pageRepository; PageRepository = pageRepository;
PageManager = pageManager; PageManager = pageManager;
@ -33,7 +33,7 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
public virtual async Task<PageDto> FindBySlugAsync(string slug) 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); var page = await PageRepository.FindBySlugAsync(slug);
if (page is null) if (page is null)
@ -54,7 +54,7 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
public virtual async Task<PageDto> FindDefaultHomePageAsync() 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) if (pageCacheItem is null)
{ {
var page = await PageManager.GetHomePageAsync(); var page = await PageManager.GetHomePageAsync();
@ -65,7 +65,7 @@ public class PagePublicAppService : CmsKitPublicAppServiceBase, IPagePublicAppSe
pageCacheItem = ObjectMapper.Map<Page, PageCacheItem>(page); 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) }); new DistributedCacheEntryOptions { AbsoluteExpiration = DateTimeOffset.Now.AddHours(1) });
} }

Loading…
Cancel
Save