【发布时间】:2016-06-02 08:25:04
【问题描述】:
在 HttpContext(或类似的东西)中,我需要从控制器中添加一个临时变量,该变量需要在整个请求处理过程中可用(请求明智变量)。但是 HttpContext.Current.Request 是只读的。如果我要添加项目,它就不会出去。我怎样才能做到这一点
感谢和问候 Binesh Nambiar C
【问题讨论】:
在 HttpContext(或类似的东西)中,我需要从控制器中添加一个临时变量,该变量需要在整个请求处理过程中可用(请求明智变量)。但是 HttpContext.Current.Request 是只读的。如果我要添加项目,它就不会出去。我怎样才能做到这一点
感谢和问候 Binesh Nambiar C
【问题讨论】:
您正在寻找HttpContext.Items,这是一个字典,可用于在当前请求期间存储项目。它在请求结束时超出范围。
// Set
HttpContext.Items["Customer"] = customer;
// Get
var customer = HttpContext.Items["Customer"];
【讨论】:
HttpContext.Current (这可能是你的问题)。在模型绑定器中,上下文对象被传入。您可以访问请求缓存,如var cache = controllerContext.HttpContext.Items["Key"];