Google App Engine 中的 Sandbar 或 Ring 会话的简单示例
我正在尝试弄清楚如何让会话和 Flash 在 Google App Engine 中工作。有人可以提供一个使用 Ring 或 Sandbar 的清晰示例吗?我认为我的沙栏正在工作,特别是它没有告诉我 Var sandbar.stateful-session/sandbar-flash 未绑定
,当我转储处理程序时,我得到 :flash
和 :session
虽然我不确定那是沙洲会话还是环会话。为了完整起见,我将提到我正在使用最新版本的 appengine-magic、ring、hiccup 和 sandbar。似乎没有任何不兼容或问题。
因此,一个清晰的示例最好使用 flash-put!、flash-get、session-put!和会话获取。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通常不喜欢回答自己的问题,但在这种情况下,我会破例,因为:
a)没有很多易于理解的示例。
b) 最好有一个快速的工作示例供其他人使用。
注意:此处不需要 appengine-magic,这也适用于正常的响铃会话
代码
如何使用它
导航到 http://127.0.0.1:8080/inc 增加会话中的计数器,并且 http://127.0.0.1:8080/ 将显示会话中计数器的值。
总结会议!会话不需要工作,只需使用
即可为您提供工作功能会话。然而,我想通过副作用和总结会话来管理我的会话!提供该功能。要使用类似 flash 的功能,只需使用 session-put 即可!将值放入会话中,然后使用 session-pop!将其删除。
希望这有帮助。
I don't usually like answering my own questions, however in this case I'll make an exception because:
a) There isn't a lot of easy to understand examples out there.
b) It would be nice to have a quick working example for others to use.
Note: appengine-magic is not required here, this will also work with normal ring sessions
Code
How to use it
Navigating to http://127.0.0.1:8080/inc increments the counter in the session and http://127.0.0.1:8080/ will display the value of counter in the session.
wrap-session! is not required for sessions to work, just using
will give you working functional sessions. However I wanted to manage my sessions with side-effects and wrap-session! provides that functionality. To use flash like functionality, simply use session-put! to put a value into the session and then use session-pop! to remove it.
Hope that's helpful.
如果你想使用GAE提供的Session,可以使用下面的
https://gist.github.com/1095841
在您的请求中包含类似环形的会话,但基于 GAE 会话支持。
如果您想要在此基础上进行有状态会话,您可以使用 Sandbar 提供的有状态会话 API
https://github.com /布伦托纳什沃思/沙洲
If you want to use the Sessions provided by GAE, you can use the following
https://gist.github.com/1095841
to include a ring like session in your requests, but based on GAE session support.
If you want stateful sessions on top of this, you can use the stateful session API provided by Sandbar
https://github.com/brentonashworth/sandbar