ASP.NET 核心相当于 OwinContext.Environment?

ASP.NET Core Equivalent to OwinContext.Environment?

我正在尝试移植一些使用 OwinContext.Environment 的 Owin 中间件。我知道我可以使用 AspNetCore.Owin nuget 包支持旧的 Owin 内容,但由于 owin 现在已集成到 ASP.NET Core 中,我想全部更新。

我知道环境 属性 只是一个 IDictionary,但我不确定的是,就上下文、作用域、生命周期等而言,该对象有什么特殊之处(如果有的话) . 查看源代码,它看起来只不过是 OwinContext class 上的 public 虚拟和私有 setter。在 .net 核心中实现类似的功能显然不需要旧 Owin 上下文使用的所有其他键值对,因为它不再存在了。因此,复制该功能似乎相对容易。

就是说,我只是想弄清楚 .net 核心中是否还有其他可能提供类似功能的东西,或者我是否需要自己动手?

OWIN中的环境相当于ASP.NETCore中的HttpContext。有一个类型而不是弱类型字典。要存储 "extra stuff",可以使用 HttpContext.Items.