|
|
|
@ -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) }); |
|
|
|
} |
|
|
|
|
|
|
|
|