添加后从 OWIN 环境字典中删除的对象

Objects removed from OWIN Environment dictionary after adding it

我正在处理与 OWIN 中间件管道兼容的 MVC 项目。

在控制器的 Action 中,我想在 Environment 对象中存储一些对象以产生某种共鸣,所以我做了类似的事情:

  Request.GetOwinContext().Environment["loginViewModel"] = model;
  Request.GetOwinContext().Environment["signInMessage"] = message;

当我尝试从另一个控制器的操作中获取此键时,我发现环境对象不包含此键,这是怎么回事?

我想我找到了解决办法,

环境对象与当前请求相关,所以每个请求都有自己的环境,有一个标准的 OWIN 环境键,每次请求到来时,如果我想添加到这个环境请求,它应该填充环境字典我应该为每个请求添加这个,例如使用中间件。所以我使用会话来存储这个对象。