在 .NET Core 中,要激活 Session 缓存,需要进行以下步骤:

  1. 在 Startup.cs 文件中,添加以下代码:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddSession(options =>
        {
            options.IdleTimeout = TimeSpan.FromMinutes(30);
            options.Cookie.HttpOnly = true;
        });
        services.AddMvc();
    }
    
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseSession();
        app.UseMvc();
    }
    
  2. 在需要使用 Session 的控制器中,添加以下代码:

    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            HttpContext.Session.SetString("Name", "John");
            return View();
        }
    }
    

    这里的 HttpContext.Session 就是 Session 对象,可以使用 SetString、GetString 等方法来存储和读取数据。

需要注意的是,Session 缓存需要使用某个具体的存储方式来存储数据,可以使用内存、Redis、SQL Server 等多种存储方式。在 ConfigureServices 方法中,可以通过 options 配置来指定存储方式。例如,对于 Redis 存储方式,可以添加以下代码:

```csharp
services.AddDistributedRedisCache(options =>
{
    options.Configuration = "localhost";
    options.InstanceName = "SampleInstance";
});
services.AddSession(options =>
{
    options.IdleTimeout = TimeSpan.FromMinutes(30);
    options.Cookie.HttpOnly = true;
    options.Cookie.IsEssential = true;
    options.Cookie.Name = ".MyApp.Session";
    options.SessionStore = new RedisCacheSessionStore(services.BuildServiceProvider());
});
```
net Core中如何激活session缓存描述

原文地址: https://www.cveoy.top/t/topic/bf4z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录