小编Joe*_*Joe的帖子

使用 Redis 缓存作为会话存储 asp.net 核心

尝试将 Redis 缓存用作已存在的 Web 应用程序中的会话存储,该应用程序是在 asp.net mvc 核心 (2.1.1) 中开发的。

指的是https://garywoodfine.com/redis-inmemory-cache-asp-net-mvc-core/

https://joonasw.net/view/redis-cache-session-store但是当尝试在 Redis 桌面管理器中检查会话设置/获取值时,没有显示任何内容。

是否需要任何额外的步骤来使会话存储使用 Redis 缓存而不是默认的内存中 (in-proc) 选项?

启动文件

    public void ConfigureServices(IServiceCollection services)
     {
      services.AddDistributedRedisCache(options =>
            {
                options.InstanceName = Configuration.GetValue<string> 
                          ("redis:name");
                options.Configuration = Configuration.GetValue<string> 
                                           ("redis:host");

              });

             services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
            .AddSessionStateTempDataProvider();
             services.AddSingleton<IDistributedCache, RedisCache>();

services.AddSession(options =>
            {
                options.IdleTimeout = TimeSpan.FromMinutes(60);
            });

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }
            app.UseStaticFiles();
            app.UseCookiePolicy();
            app.UseSession();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Login}/{action=Login}/{id?}");
            }); …
Run Code Online (Sandbox Code Playgroud)

c# session caching redis asp.net-core-mvc

5
推荐指数
1
解决办法
4269
查看次数

标签 统计

asp.net-core-mvc ×1

c# ×1

caching ×1

redis ×1

session ×1