是否建议将对象保存在Session中?

本文关键字:存在 Session 保存 对象 是否 | 更新日期: 2023-09-27 18:06:02

我有一个ASP。. NET web应用程序,我正在考虑在会话中保存整个对象User,而不是仅保存UserId

推荐吗?它会导致性能低下吗?

是否建议将对象保存在Session中?

不,在Session中保存整个User对象而不是仅仅保存UserId不会导致性能问题。事实上,由于您在会话中拥有整个对象,它可能会提高性能,因为您不再需要从数据库中获取它。

至于"是否推荐"?那得看情况。

使用会话意味着你的网站现在将依赖于那个"状态"。因此,如果你有多个具有负载平衡的web服务器,你可能会遇到客户请求先到一个服务器,然后再到另一个服务器的问题。(会话存储在每台服务器上,不共享)

所以我个人认为:如果你的网站很小,不需要扩展到多个服务器,那就去做吧。

我同意前面的答案。如果你有网站规模小,用户数量有限,最好将user保存在会话对象中。

当你在session中保存时,你可以配置session的存储库类型,可以是内存/SQL。

默认是记忆如我回忆和如果你如果用户太多,可能会导致一些问题。

考虑使用缓存对象,可以在字典中存储用户id和用户对象。