进阶 www.iris-go.com 2026-10-20 02:39:14 · 20 阅读

第19章 Iris框架中的Session Controller使用指南

Session Controller ​创建 main.go 文件并复制粘贴以下代码片段: gopackage main import ( "fmt" "time" "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/mvc" "github.com/kataras/iris/v12/sessions" ) func main() { app := iris.New() // 像往常一样配置 sessions 管理器。 sess := sessions.New(sessions.Config{Cookie: "mysession_cookie_name"}) app.Use(sess.Handler()) visitApp := mvc.New(app) visitApp.Register(time.Now()) visitApp.Handle(new(VisitController)) app.Listen(":8080") }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Controller ​VisitController.Session 会自动绑定到当前的 sessions.Session。 VisitController.StartTime 通过上面的 .Register(time.Now()) 静态设置为服务器启动时间。 gotype VisitController struct { Session *sessions.Session StartTime time.Time } func (c *VisitController) Get() string { // 将整型的 "visits" 值加一, // 如果键为 'visits' 的条目不存在, // 会自动创建。 visits := c.Session.Increment("visits", 1) // 输出当前更新后的访问次数。 since := time.Now().Sub(c.StartTime).Seconds() return fmt.Sprintf("%d visit(s) from my current session in %0.1f seconds of server's up-time", visits, since) }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Run ​打开终端会话并执行: sh$ go run main.go1
准备一个客户端(例如浏览器): - 访问 http://localhost:8080 - 多次刷新页面 - 关闭浏览器 - 重新打开浏览器(如果之前不是隐私模式),再重复第 2 步

评论 (0)