假设我有一个值为“OLD”的cookie,然后我用以下代码更新cookie:
var lang = new HttpCookie("lang");
lang.Value = "NEW";
lang.Expires = DateTime.UtcNow.AddDays(2);
HttpContext.Current.Response.SetCookie(lang); //set updated cookie value
var x = HttpContext.Current.Request.Cookies("lang");
x
仍然会将“OLD”作为值,因为它不会被发送到客户端。是否有可能在没有首先发送给客户端的情况下获取更新的值?
答案 0 :(得分:0)
如果您不想向客户端发送价值并且仅想用于参考,则可以使用TempData
来达到您的目的。这可能会有所帮助。
答案 1 :(得分:0)
我认为,你应该在Response中寻找它,而不是在Request中,因为请求 - 它来自客户端。
答案 2 :(得分:0)
您正在HttpContext.Current.Response
设置Cookie并尝试在HttpContext.Current.Request
中找到它,甚至在下一个请求到达服务器之前。
它不会起作用。
对于这种情况,使用cookie是不正确的。您还有其他更适合目的的选项,例如 -
但是如果您仍然希望以这种方式使用Cookie,请在HttpContext.Current.Response
中搜索Cookie。我相信你会得到它。
像这样:
var cookieValue = HttpContext.Current.Response.Cookies["OLD"].Value