質問: ASP.NET Core MVC(Core 3.1)のWebアプリケーションにおいて、 1 Request、1 Context内限定のGlobal変数を置きたいのですが、 どのような方法が適切でしょうか。 単純なSingletonを作り、処理完了後破棄するような実装の場合、 並列で動いたContext間で情報が共有されるため問題があります。
回答: HttpContext.Items が実質的にCurrentContextのGlobal変数として働く。 AspNetCoreCurrentRequestContext と組み合わせることで、Applicationのどの場所からも参照することが可能になる。 ``` AspNetCoreHttpContext.Current.Items["SomeKeyName"] = "SomeValue"; ```