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

提供: MonoBook
2018年10月31日 (水) 01:32時点におけるimported>Administratorによる版
ナビゲーションに移動 検索に移動

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

おわり。

関連項目