【发布时间】:2020-07-22 17:27:32
【问题描述】:
我的应用程序中有两个控制器操作,FirstAction 和 SecondAction。
当调用 FirstAction 时,我想存储数据并希望在 SecondAction 中重用。
我已经尝试过 HttpContext 并且无法在 SecondAction 中获得价值。它总是返回 null 。
public async Task<IActionResult> FirstAction()
{
HttpContext.Items.Add("Key1", myValue1);
HttpContext.Items.Add("Key2", myValue2);
}
public async Task<IActionResult> SecondAction()
{
var _value1 = HttpContext.Items["Key1"]?.ToString();
var _value2 = HttpContext.Items["Key2"]?.ToString();
}
这种场景有没有更好的方法?
【问题讨论】:
-
你有理由必须使用 HttpContext 吗?为什么不将数据存储在控制器全局范围内的字典
中? -
@jawsofdoom ,是的,如果这是更好的方法,请作为答案发布或给我一些参考。
-
HTTP 上下文是指当前请求。您需要将数据存储在
HttpContext.Session。