Http Context似乎在我的应用程序中表现得很奇怪。存储在Http上下文中的值是否可以跨越多个请求?
我在使用Play Framework 2.3.6版。
以下是我的控制器中的代码:
ctx().args.put("version", 1);
以下是我取回它的方式:
Http.Context.current().args.get("version");
现在,根据请求,我在上下文中设置“version”的值,并在需要的地方获取。我现在遇到的问题是,当收到版本2的请求时,上下文仍然返回版本1.
答案 0 :(得分:2)
您只能存储字符串且只能存储非常有限的大小且仅在会话请求来自同一浏览器时才会存储。原因是会话中没有任何内容存储在服务器上。
文档:
了解Session和Flash数据不是由服务器存储,而是使用cookie机制添加到每个后续HTTP请求中,这一点很重要。这意味着数据大小非常有限(最多4 KB),并且您只能存储字符串值。
https://www.playframework.com/documentation/2.3.x/ScalaSessionFlash