namespace Dpz.Core.Web.Library.Api.Service;
public class ToolService(IWebHostEnvironment webHostEnvironment, IFusionCache fusionCache)
{
public async Task<string?> GetStaticContentAsync(string key, params string[] paths)
{
var cache = await fusionCache.TryGetAsync<string>(key);
if (cache.HasValue)
{
return cache.Value;
}
var pathList = new List<string> { webHostEnvironment.WebRootPath };
pathList.AddRange(paths);
var pathArray = pathList.ToArray();
var path = Path.Combine(pathArray);
if (!Path.Exists(path))
{
return null;
}
var content = await File.ReadAllTextAsync(path);
await fusionCache.SetAsync(key, content, TimeSpan.FromDays(7));
return content;
}
}