ASP.NET CoreのセッションをRedisに保存する

提供: MonoBook
2018年10月2日 (火) 11:13時点におけるimported>Administratorによる版 (Administrator がページ「ASP .NET CoreのセッションをRedisに保存する」を「ASP.NET CoreのセッションをRedisに保存する」に移動しました)
ナビゲーションに移動 検索に移動

ASP .NET CoreセッションRedisに保存したい。

前提
  • ASP .NET Core 1.1を使用
  • Redisサーバーは立ち上がっていること
    この例ではQNAP上のDockerRedisを立ち上げているのでポート番号が一般的ではない点に注意
使用するNuGetパッケージ
  • Microsoft.Extensions.Caching.Redis
  • Microsoft.AspNetCore.Session

どちらのパッケージもASP .NET Core 2.0版が最新なので、NuGetから入れるときにバージョン指定で1.x系を入れている。

Startup.csでサービス追加をして使用宣言をする。
        public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.

            // Redis Session
            services.AddDistributedRedisCache(options =>
            {
                options.Configuration = "192.168.10.20:32776";
                options.InstanceName = "";
            });

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

            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            app.UseSession();
        }

おわり。

関連項目