log 2019/10/17
以下の issue の fix
IHttpContextAccessor cannot be used reliably in some scenarios · Issue #14975 · aspnet/AspNetCore · GitHub
IHttpContextAccessor
を async 実行されるインスタンスに渡した場合に、リクエストが終了した後にも関わらず、直前のリクエストの HttpContext
が取得できてしまう。
DefaultHttpContextFactory
には Dispose
があり、そこで HttpContext
を null
にしているが、HostingApplication
の DisposeContext
で受け取った context
内の HttpContext
も null
にするようにしている。
この辺の関係は読み込めていないが、対処としてはこんな感じらしい。とはいえ、 IHttpContextAccessor
から必要なものだけ取って渡すのがいいって感じなんだろうな。
Best practice の Do not store IHttpContextAccessor.HttpContext in a field 以降
ASP.NET Core Performance Best Practices | Microsoft Docs
Seed Data を migration で突っ込む時の修正。 Non-writable な column を除外している。以下の去年の PR の追加的な感じ。
Seed Data: Exclude concurrency token from Data Operations by smitpatel · Pull Request #13510 · aspnet/EntityFrameworkCore · GitHub
テストを見ていて興味深かったのが、 FakeProvider
namespace 配下。
https://github.com/aspnet/EntityFrameworkCore/tree/afd6ca6a4602e85e973a4dd84a374e1394bd9852/test/EFCore.Relational.Tests/TestUtilities/FakeProvider
地味に便利そうなのだが、別途利用できるように切り出されている感じはしない。