私は、私のアプリケーション全体を通して必要とするいくつかのマスターデータをDBに持っています。アプリケーションでこのデータを定義する最も良い方法は何ですか?アプリケーションを開始するたびに、アプリケーションでこのマスタデータを初期化するように、アプリケーションでどこを定義する必要がありますか。そして、DBからデータをフェッチするメソッドはどこで定義する必要がありますか?ASP.NET Boilerplateでキャッシュを使用するには?
using System.Linq;
using System.Threading.Tasks;
using Abp.Application.Services.Dto;
using Abp.Authorization;
using Abp.Runtime.Caching;
using Test.Authorization;
using Test.Caching.Dto;
namespace Test.Caching
{
[AbpAuthorize(AppPermissions.Pages_Administration_Host_Maintenance)]
public class CachingAppService : TestAppServiceBase, ICachingAppService
{
private readonly ICacheManager _cacheManager;
public CachingAppService(ICacheManager cacheManager)
{
_cacheManager = cacheManager;
}
public ListResultDto<CacheDto> GetAllCaches()
{
var caches = _cacheManager.GetAllCaches()
.Select(cache => new CacheDto
{
Name = cache.Name
})
.ToList();
return new ListResultDto<CacheDto>(caches);
}
public async Task ClearCache(EntityDto<string> input)
{
var cache = _cacheManager.GetCache(input.Id);
await cache.ClearAsync();
}
public async Task ClearAllCaches()
{
var caches = _cacheManager.GetAllCaches();
foreach (var cache in caches)
{
await cache.ClearAsync();
}
}
}
}
Startup.csコード:
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMemoryCache();
}
ヒント:シンタックスハイライトのために 'C#'タグを追加! – aaron
@aaronあなたはaspnetboilerplateコミュニティからのサポートを提供してください。 –
マスターデータとは何ですか? – aaron