Asp.Net Core 3.1 启用Session、Redis、MemoryCache

Session、Redis、MemoryCache

public void ConfigureServices(IServiceCollection services)
{  
    //如何处理session
   services.AddSession();
//memoryCache
services.AddMemoryCache(); //启用RedisCache、session会自动保存到redis中  services.AddDistributedRedisCache(options =>   {   options.Configuration = "127.0.0.1:6379";   options.InstanceName = "RedisDistributedCache";   }); //....... } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { //启用session app.UseSession(); app.UseRouting(); //...... }

 Autofac依赖注入

//注册autofac模块
public class Startup
{
    public void ConfigureContainer(ContainerBuilder containerBuilder)
    {
        containerBuilder.RegisterModule<AutofacModule>();
    }
}

public class AutofacModule : Autofac.Module
{
    protected override void Load(ContainerBuilder containerBuilder)
    {
        containerBuilder.Register(c => new CustomAutofacAop());//aop注册
        containerBuilder.RegisterType<A>().As<IA>().EnableInterfaceInterceptors();
    }
}
//注入类
public class LogAop : IInterceptor
{
    public void Intercept(IInvocation invocation)
    {
        Console.WriteLine($"befor {invocation.Method} Params:{invocation.Arguments}");
        invocation.Proceed();
        Console.WriteLine($"after {invocation.Method}");
    }
}

public interface IA
{
    void Do();
}
//注入
[Intercept(typeof(LogAop))]
public class A:IA
{
    public void Do(){}  
}

 

posted @ 2020-03-30 21:47  永远的地平线  阅读(1089)  评论(1)    收藏  举报