您是否有使用Sql Server作为SessionState服务器并将超时时间增加到2周的缺点?我的目标是让人们尽可能长时间地登录,同时将网络服务器内存保持在最低限度。
答案 0 :(得分:1)
您在会话中存储了哪些信息?他们消耗服务器资源,而不是一般的做法,让他们活着2周。
您可以存储Cookie以将用户标记为已登录,并在他再次回来时加载会话数据。
答案 1 :(得分:1)
我想你可能会在这里混淆一些概念。
SessionState和“登录”可能意味着两件事。
SessionState表示存储在环境中“Session”对象中的对象/数据。用户登录通常使用ASP.NET Membership系统进行控制。您可以让用户具有持久登录(记住我),但会话将在20分钟后超时。系统仍会记住它们,但会话中用户“缓存”的数据可能会消失。
更直接地提到您的问题,是的,这种类型的SQL会话状态方法存在数量问题,并且根据放入会话的值的大小和流量,它可能或多或少极端。
这些信息仍然会占用内存,只占用数据库端的硬盘内存,但随着它的增长,您可以看到性能下降。单独放弃会话可能会导致大量数据被缓存。
随着会话项数量的增加,会话性能将下降,SQL Server系统上的负载会更多。
取决于服务器的大小,SQL Server许可证以及可能存在数据库或硬件限制问题的流量存储会话的时间长。