我从以前的PHP获得会话
<?php
session_start();
$_SESSION["key"] = "val";
echo $_SESSION["key"];
?>
Run Code Online (Sandbox Code Playgroud)
在服务器端设置一个或多个密钥及其值,并能够检索或覆盖它,直到会话到期为止.
与大猩猩/会话相同
var(
sessionStore *sessions.CookieStore
sessionSecret []byte = make([]byte, 64)
session *sessions.Session
)
func init(){
sessionSecret = []byte("12345678901234567890123456789012")
sessionStore = sessions.NewCookieStore(sessionSecret)
session = sessions.NewSession(sessionStore, "session_name")
}
func SetSessionHandler(w http.ResponseWriter, r *http.Request) {
session, _ = sessionStore.Get(r, "session_name")
session.Values["key"] = "val"
session.Save(r, w)
}
func GetSessionHandler(w http.ResponseWriter, r *http.Request) {
session, _ = sessionStore.Get(r, "session_name")
fmt.FPrintln(session.Values["key"])
}
Run Code Online (Sandbox Code Playgroud)
现在我不明白大猩猩/背景的意义.我知道背景是什么但是......我不知道它是如何适应大局的.它说它受当前请求的约束.stackoverflow上的另一个问题是,在编写Per-Handler中间件的上下文中"简单地使用gorilla/context应该就足够了" .
但如果它的请求绑定...错误..语法错误,不计算.如果鸭子浮在水面上,那么巫婆就是用木头做的.因为如果她的重量与鸭子的重量相同,鸭子也漂浮在水面上,她必须是女巫.或类似的东西 ;)
当它受到请求约束时,它如何作为中间件"管理器"有用,我无法在全局设置它.您是否可以展示如何将大猩猩/会话与大猩猩/上下文一起使用的示例?
作为提出其他问题的人:
...路由器可以设置从URL中提取的变量,以后应用程序处理程序可以访问这些值,或者它可以用于存储在请求结束时保存的会话值.还有其他几种常见用途.
那你为什么要在会话中使用上下文呢?它更轻,并允许您将应用程序的某些部分(通常是HTTP中间件!)彼此分离.
例:
| 归档时间: |
|
| 查看次数: |
2956 次 |
| 最近记录: |