我想設置大猩猩會話,然後再次檢索該值。我做了以下測試。獲取現有的大猩猩會話
//create session and store in http Cookies
session, err := store.Get(req, "session")
if err != nil {
errCode = http.StatusInternalServerError
return
}
//save a value
session.Values["user_id"] = userTuple.UserId
err = session.Save(req, w)
if err != nil {
errCode = http.StatusInternalServerError
return
}
//try to get the same session that was just created
nr := http.Request{Header: w.Header()}
session, err = store.Get(&nr, "session")
if err != nil {
errCode = http.StatusInternalServerError
return
} else if session.IsNew {
log.Println("New session created instead of old one.")
}
這是一個從更大的HTTP處理程序中抽出的代碼片段。但相關部分已發佈,而第二次致電store.Get()
未返回現有會話,而是返回一個全新的會話。因此,執行此代碼所在的處理程序時,會將日誌語句打印到控制檯。
爲什麼我在這種情況下獲得新會話而不是我已經創建和保存的會話?
您使用的是什麼類型的商店? – OneOfOne 2014-09-28 03:31:13
不,這是不同的代碼。我第一次發佈錯誤的代碼。同樣的問題,不同的問題。 – moesef 2014-09-28 03:31:22
我正在使用CookieStore – moesef 2014-09-28 03:31:43