文档 ( https://hexdocs.pm/plug/Plug.Conn.html ) 命名了两个允许将键值对存储在 conn
中的函数。
assign(conn, key, value)
Assigns a value to a key in the connection
put_session(conn, key, value)
Puts the specified value in the session for the given key
这两个函数有什么区别?
最佳答案
基本上assign
仅适用于特定连接 - Plug.Conn 结构 - 这意味着该值将随着请求的结束而消失 - 因为 conn 也会在请求/响应周期结束时消失。
session 生命周期更长,它存储在 cookie 或 ets 中。多亏了你保持例如。有关跨请求成功登录的用户的数据。
特尔;博士:assign
适用于每个请求,并在请求周期结束后消失。put_session
在 session 中插入一个值,它在 session 被清除/过期之前一直可用。
关于session - Phoenix框架的Plug.Conn中assign和put_session有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46502455/