using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using System;
using WIDESEA_Core.Caches;
namespace WIDESEA_Core.Extensions
{
///
/// Memory缓存 启动服务
///
public static class MemoryCacheSetup
{
public static void AddMemoryCacheSetup(this IServiceCollection services)
{
if (services == null) throw new ArgumentNullException(nameof(services));
services.AddScoped();
services.AddSingleton(factory =>
{
var value = factory.GetRequiredService>();
var cache = new MemoryCache(value);
return cache;
});
}
}
}