既然Session存在服务器端,客户端为什么重新启动会丢失Session?如果我存Session到StateServer,也是这样!

xinuaile 2003-10-09 05:42:36

那么 如何保证 客户端重新启动 也不丢 session ?
...全文
177 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahui_net 2003-10-10
  • 打赏
  • 举报
回复
配置 SQL Server 模式
若要使用 SQL Server,首先在将存储会话状态的 SQL Server 计算机上,运行 InstallSqlState.sql 或 InstallPersistSqlState.sql。两个脚本均创建一个名为 ASPState 的数据库,它包含若干存储过程。两个脚本间的差异在于放置 ASPStateTempApplications 和 ASPStateTempSessions 表的位置。InstallSqlState.sql 脚本将这些表添加到 TempDB 数据库,该数据库在计算机重新启动时将丢失数据。相反,InstallPersistSqlState.sql 脚本将这些表添加到 ASPState 数据库,该数据库允许在计算机重新启动时保留会话数据。

默认情况下,两个脚本文件均安装在下面的位置:

systemroot\Microsoft.NET\Framework\versionNumber

然后,在应用程序的 Web.config 文件中,将 <sessionState> 元素的 mode 属性设置为 SQLServer。最后,将 sqlConnectionString 属性设置为 Integrated Security=SSPI;data source=serverName;。

下面显示了 SQL Server 模式的一个配置设置示例。

<configuration>
<system.web>
<sessionState mode="SQLServer"
sqlConnectionString=" Integrated Security=SSPI;data source=dataserver;"
cookieless="false"
timeout="20"/>
</sessionState>
</system.web>
</configuration>

在 SQL Server 模式中,也可以将会话状态配置为在故障转移群集中工作。故障转移群集是两个或更多相同的冗余 Web 服务器,它们将会话数据存储在一台单独的计算机上的 SQL Server 数据库中。如果一个 Web 服务器出现故障,群集中的另一个服务器会接管它的工作,为请求提供服务,会话数据不会丢失。若要配置故障转移群集,请将 Web 服务器的 Web.config 文件中的 <machinekey> 元素设置为相同的值。然后将 Web 服务器的 SQL 连接字符串设置为指向计算机上存储会话数据的 SQL Server 数据库。


ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconsessionstate.htm
nanker 2003-10-10
  • 打赏
  • 举报
回复
在全部关闭浏览器后Session会丢失,但你可以使用Cookies保持Session变量,如果Cookies禁用,也可以把Session内空存在数据库中。
Cookies与Session并无直接关系,只是借助Cookies可以在重新打开浏览器时将Cookies中的Session值重新赋给Session以达到保持Session变量的目的。
zsww 2003-10-10
  • 打赏
  • 举报
回复
对!性能肯定要下降!

-----------努力学习 不断实践 虚心讨教---------
xiaoyan21 2003-10-10
  • 打赏
  • 举报
回复
用 session 有哪些优缺点? 大家能说说吗?

在程序中我用了很多的 session ,那性能是不是会下降?
zhangjie1234 2003-10-10
  • 打赏
  • 举报
回复
session在服务器里的时间默认为20分钟
可以在代码里写session.timeout=时间,自已可以设定长一点的时间
flowing2k 2003-10-10
  • 打赏
  • 举报
回复
无关。时间在IIS中设置,默认是20分钟
xinuaile 2003-10-10
  • 打赏
  • 举报
回复
Session 是否 跟 cookie 有关 ? 因为 在 web.config 有 cookless 一项

另外

全部 关闭 浏览器 后 一段 时间 session 不会 消失 , 是 1分钟 or 其它
xinuaile 2003-10-09
  • 打赏
  • 举报
回复
Session 是否 跟 cookie 有关 ? 因为 在 web.config 有 cookless 一项

另外

全部 关闭 浏览器 后 一段 时间 session 不会 消失 , 是 1分钟 or 其它
zhongkeruanjian 2003-10-09
  • 打赏
  • 举报
回复
session英文意思是什么?
查一查就一目了然了
ipconfiger 2003-10-09
  • 打赏
  • 举报
回复
浏览器关闭就失效,规定如此,要么就用cookie
neodotnet 2003-10-09
  • 打赏
  • 举报
回复
用户关闭浏览器就会清除相应的Session, 这自然是重启前的事情了

可以用Cookie
asam2183 2003-10-09
  • 打赏
  • 举报
回复
Session随着用户的"退出"而在服务器端清除,像关闭窗体之类都会

进入系统时,可以根据每个用户cookie里的值来判断是否要重新加载Session

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧