在我的计算机上Session是不会过时的,可到了服务器上就碰到了你说的问题,Session在5秒左右就过期了,我真的好急的!

qb515 2003-09-04 01:25:21
在我的计算机上Session是不会过时的,可到了
上传的服务器上就碰到了你说的问题,Session在5秒左右就过期了,我真的好急的!
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
paodiaole 2003-09-04
  • 打赏
  • 举报
回复
跟程序无关,系统的 bug
1. 改用 sqlserver 存 session
2. 改用 cache

一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session的值:
InProc

State Server

SQL Server

“InProc”表示我们使用传统ASP一样的方法储存Session的值,而且“State Server”则表示使用另外一台主机来储存Session的值。当然我们也能使用SQL Server储存值,我们这篇文章就专门用于讲解这种方法。

运行InstallSqlState.sql文件

首先需要在Winnt\Microsoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中执行它。在我的机器中,它存在于E:\WINNT\Microsoft.NET\Framework\v1.0.2914\目录中。这个文件是微软自己提供的,里面有很全的SQL语句,大家放心使用。下图就是生成的数据表。

修改你的web.config文件,指定Session的mode为SQL Server

将web.config的sessionState部分改成:


<sessionState mode="SQLServer"

sqlConnectionString="data source=

WIN2000;userid=

sa;password=" cookieless= "false"timeout=

"20" />


创建Asp.Net Web Forms

下面就建立一个测试的ASP.net程序,使用Session程序这里就不用多说了,下面是我的程序的截图。这个程序只是简单的储存一个字符串数据于Session中,然后再显示这个数据在Label控件中。





现在所有的Session变量都储存在数据表中,而不是内存中了。你可打开ASPStateTempSessions表来查看这些Session数据了。


删除这些数据库和表

如果你不喜欢这个数据储存方式,看得实在是不爽,那么你可以把这些表和数据库完全删除掉。这个也不要担心这种删除会影响数据库(因为害怕误删除一些数据),因为微软同样也得供给你们一个删除SQL 文件,名叫UnintallSQLState.sql。它与IntallSQLState.sql一样放在.Net的Config目录中。
heroyujun 2003-09-04
  • 打赏
  • 举报
回复
或者在第一个页面的pageload中写入

Session.Timeout = 500
qb515 2003-09-04
  • 打赏
  • 举报
回复
我在程序设置了时间,应该以我设置的时间为准呀?怎么非要到这个文件中去设置!!郁闷!!!!!!!!!
那位兄弟知道??
heroyujun 2003-09-04
  • 打赏
  • 举报
回复
在webconfig中

<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;user id=sa;password="
cookieless="false"
timeout="60"
/>

timeout设置时间,单位:min

62,046

社区成员

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

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

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

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