投稿

11月, 2017の投稿を表示しています

ASP.NET Coreでiisresetでもセッションを維持する件

Redisを使えば大丈夫だと思ったけど、ダメだったので調べたことのメモ ポイント - dotnet.exe単体動作ではRedisのみでOK - iisのバックエンドの場合はiisresetでセッションが吹っ飛ぶ - セッションidとredisのキーを紐付ける設定がiisの場合、都度変わるぽい Startup.csのConfigureServices関数にて var redis = StackExchange.Redis.ConnectionMultiplexer.Connect(Configuration.GetConnectionString("RedisConnection")); services.AddSingleton(options => redis.GetDatabase()); services.AddDataProtection().PersistKeysToRedis(redis, "DataProtection-Keys"); 的な記述を追加する。 これによって、dotnet core on iis でもiisresetでセッションが飛ばないようになるぽい。 ちなみに、キーとなるAddDataProtection()ミドルウェアだが、 Microsoft.AspNetCore.DataProtection.Redis アセンブリが必要になるため、Nugetで事前にインストールが必要である。