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(){}
}

浙公网安备 33010602011771号