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