「ASP.NET CoreのセッションをRedisに保存する」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
[[ASP .NET Core]]の[[セッション]]を[[Redis]]に保存したい。 | [[ASP .NET Core]]の[[セッション]]を[[Redis]]に保存したい。 | ||
+ | ; 前提 | ||
+ | * ASP .NET Core 1.1を使用 | ||
+ | * Redisサーバーは立ち上がっていること | ||
+ | *: この例では[[QNAP]]上の[[Docker]]で[[Redis]]を立ち上げているのでポート番号が一般的ではない点に注意 | ||
− | + | ; 使用するNuGetパッケージ | |
− | * | + | * Microsoft.Extensions.Caching.Redis |
+ | * Microsoft.AspNetCore.Session | ||
+ | どちらのパッケージもASP .NET Core 2.0版が最新なので、[[NuGet]]から入れるときにバージョン指定で1.x系を入れている。 | ||
− | + | ; Startup.csでサービス追加をして使用宣言をする。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<source lang="csharp"> | <source lang="csharp"> | ||
− | + | 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(); | |
− | + | } | |
− | |||
</source> | </source> | ||
− | |||
おわり。 | おわり。 |