12345678910111213141516171819202122232425262728293031 |
- using Microsoft.Extensions.Caching.Memory;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Options;
- using Ropin.Core.Common;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Core.Extensions
- {
- /// <summary>
- /// Memory缓存 启动服务
- /// </summary>
- public static class MemoryCacheSetup
- {
- public static void AddMemoryCacheSetup(this IServiceCollection services)
- {
- if (services == null) throw new ArgumentNullException(nameof(services));
- services.AddScoped<ICaching, MemoryCaching>();
- services.AddSingleton<IMemoryCache>(factory =>
- {
- var value = factory.GetRequiredService<IOptions<MemoryCacheOptions>>();
- var cache = new MemoryCache(value);
- return cache;
- });
- }
- }
- }
|