Browse Source

CmsKit - Remove composite cache key class for Menu

pull/9354/head
Enis Necipoğlu 5 years ago
parent
commit
f3c6b28eb3
  1. 10
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs
  2. 7
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuApplicationConsts.cs
  3. 7
      modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs
  4. 6
      modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs

10
modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MainMenuCacheKey.cs

@ -1,10 +0,0 @@
namespace Volo.CmsKit.Public.Menus
{
public class MainMenuCacheKey
{
public override string ToString()
{
return "MainMenu";
}
}
}

7
modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuApplicationConsts.cs

@ -0,0 +1,7 @@
namespace Volo.CmsKit.Menus
{
public static class MenuApplicationConsts
{
public static string MainMenuCacheKey = "MainMenu";
}
}

7
modules/cms-kit/src/Volo.CmsKit.Common.Application/Volo/CmsKit/Menus/MenuUpdatedHandler.cs

@ -3,22 +3,21 @@ using Volo.Abp.Caching;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Domain.Entities.Events;
using Volo.Abp.EventBus;
using Volo.CmsKit.Public.Menus;
namespace Volo.CmsKit.Menus
{
public class MenuUpdatedHandler : ILocalEventHandler<EntityUpdatedEventData<Menu>>, ITransientDependency
{
protected IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> DistributedCache { get; }
protected IDistributedCache<MenuWithDetailsDto> DistributedCache { get; }
public MenuUpdatedHandler(IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> distributedCache)
public MenuUpdatedHandler(IDistributedCache<MenuWithDetailsDto> distributedCache)
{
DistributedCache = distributedCache;
}
public async Task HandleEventAsync(EntityUpdatedEventData<Menu> eventData)
{
await DistributedCache.RemoveAsync(new MainMenuCacheKey());
await DistributedCache.RemoveAsync(MenuApplicationConsts.MainMenuCacheKey);
}
}
}

6
modules/cms-kit/src/Volo.CmsKit.Public.Application/Volo/CmsKit/Public/Menus/MenuPublicAppService.cs

@ -13,11 +13,11 @@ namespace Volo.CmsKit.Public.Menus
{
protected IMenuRepository MenuRepository { get; }
protected IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> DistributedCache { get; }
protected IDistributedCache<MenuWithDetailsDto> DistributedCache { get; }
public MenuPublicAppService(
IMenuRepository menuRepository,
IDistributedCache<MenuWithDetailsDto, MainMenuCacheKey> distributedCache)
IDistributedCache<MenuWithDetailsDto> distributedCache)
{
MenuRepository = menuRepository;
DistributedCache = distributedCache;
@ -26,7 +26,7 @@ namespace Volo.CmsKit.Public.Menus
public async Task<MenuWithDetailsDto> GetMainMenuAsync()
{
var cachedMenu = await DistributedCache.GetOrAddAsync(
new MainMenuCacheKey(),
MenuApplicationConsts.MainMenuCacheKey,
async () =>
{
var menu = await MenuRepository.FindMainMenuAsync(includeDetails: true);

Loading…
Cancel
Save