我的iis服务器 从昨天起 就不能使用session了 求救
如题,session的存在时间非常短,只有几秒种..............
问题点数:20、回复次数:9Top
1 楼stefli()回复于 2005-06-17 12:28:32 得分 5
重启iis呢??修改iis里面的session存活时间呢?修改代码中间的存活时间呢?
是否禁用了cookie。
如果还不行,那重装iis呢?
还不行,那装系统吧。Top
2 楼ayun00(阿云)回复于 2005-06-17 14:22:27 得分 0
重启计算机也不行,iis里的存活时间是60M,代码中间没有控制session存活的代码,cookie可以使用,
正准备重装iis..........Top
3 楼ayun00(阿云)回复于 2005-06-17 14:42:22 得分 0
原因再那里 是不是我的iis配置不安全 ,以后又出同样问题呢?Top
4 楼surferc((大妹子,缘分啊!))回复于 2005-06-17 16:52:48 得分 5
楼主还是先说明一下自己的环境配置吧。直接问这样的问题大家等于是瞎子摸象。
例如操作系统及版本 IIS版本 当前配置情况,近期改动配置情况。操作系统最后异常情况等等。这样大家才能比较准备的解答你的问题。Top
5 楼ayun00(阿云)回复于 2005-06-18 15:08:57 得分 0
iis6.0,windows2003 配置都是默认
只是之前好像更改了内存池
重装后,时间长了一些,但是还是达不到 我在iis里设置的时间长度Top
6 楼zhanghongwen(流氓蚊子)回复于 2005-06-18 16:13:10 得分 0
UPTop
7 楼surferc((大妹子,缘分啊!))回复于 2005-06-20 13:36:06 得分 0
在脚本里写上session的生存周期试一下。
IIS中现在设置的时间长度现在是多少呢?Top
8 楼ayun00(阿云)回复于 2005-06-20 16:25:44 得分 0
在脚本里写上session的生存周期试一下。 和这个有关吗?
现在设置是60分钟Top
9 楼surferc((大妹子,缘分啊!))回复于 2005-06-21 14:10:59 得分 10
[转贴]
Session丢失原因与解决方案小结- -
可能的原因1:
win2003 server下的IIS6默认设置下对每个运行在默认应用池中的工作者进程都会经过20多个小时后自动回收该进程,造成保存在该进程中的session丢失。
因为Session,Application等数据默认保存在运行该Web应用程序的工作者进程中,如果回收工作者进程,则会造成丢失。
解决办法:
修改配置,设置为不定时自动回收该工作者进程,比如设置为当超出占用现有物理内存60%后自动回收该进程。通过使用默认应用程序池,可以确保多个应用程序间互相隔离,保证由于一个应用程序的崩溃不会影响另外的Web应用程序。还可以使一个独立的应用程序运行在一个指定的用户帐号特权之下。
如果使用StateServer方式或者Sql Server数据库方式来保存Session,则不受该设置的影响。
可能的原因2:
系统要运行在负载平衡的 Web 场环境中,而系统配置文件web.config中的Session状态却设置为InProc(即在本地存储会话状态),导至在用户访问量大时,Session常经超时的情况。引起这个现象的原因主要是因为用户通过负载平衡IP来访问WEB应用系统,某段时候在某台服务器保存了Session的会话状态,但在其它的WEB前端服务器中却没有保存Session的会话状态,而随着并发量的增大,负载平衡会当作路由随时访问空闲的服务器,结果空闲的服务器并没有之前保存的Session会话状态。
解决办法:
1.当您在负载平衡的 Web 场环境中运行 ASP.NET Web 应用程序时,一定要使用 SqlServer 或 StateServer 会话状态模式,在项目中我们基于性能考虑并没有选择SqlServer模式来存储Session状态,而是选择一台SessionStateServer 服务器来用户的Session会话状态。我们要在系统配置文件web.config中设置如下:
<sessionState mode="StateServer" cookieless="false" timeout="240" stateConnectionString="tcpip=192.168.0.1:42424" stateNetworkTimeout="14400" /> 还要添加一项
<machineKey validationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4" decryptionKey="5FC88DFC24EA123C" validation="SHA1"/>
2. 我们同时还要在SessionStateServer 服务器中启动ASP.NET State Service服务,具体设置:控制面板>>管理工具>>服务>>ASP.NET State Service,把它设为自动启动即可。
3. 每台前端WEB服务的Microsoft“Internet 信息服务”(IIS)设置
要在 Web 场中的不同 Web 服务器间维护会话状态,Microsoft“Internet 信息服务”(IIS) 配置数据库中 Web 站点的应用程序路径(例如,\LM\W3SVC\2)与 Web 场中所有 Web 服务器必须相同。大小写也必须相同,因为应用程序路径是区分大小写的。在一台 Web 服务器上,承载 ASP.NET 应用程序的 Web 站点的实例 ID 可能是 2(其中应用程序路径是 \LM\W3SVC\2)。在另一台 Web 服务器上,Web 站点的实例 ID 可能是 3(其中应用程序路径是 \LM\W3SVC\3)。因此,Web 场中的 Web 服务器之间的应用程序路径是不同的。我们必须使Web 场Web 站点的实例 ID 相同即可。可以在IIS中把某一个WEB配置信息保存为一个文件,其他Web 服务器的IIS配置可以来自这一个文件。
=======================================
转贴
最近做网站后台的时候,登陆后发现刷新页面时Session会丢失,过几秒钟也会自然丢失,查了资料后发现可哉庋饩觯?/p>
1。打开web.config文件,设置如下:
<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
<sessionState
mode="StateServer" //就是修改这里为“StateServer”
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="30"
/>
2。打开“控制面板--管理工具--服务”,找到ASP.NET State Service这个服务,将其启动。
这样以后再刷新页面就不会丢失Session了,哈哈!
===========================
以上是一些session丢失的常见解决方法楼主可以根据具体情况试一下。Top
相关问题
- 我的iis服务器 从昨天起 就不能使用session了 求救
- 请教:为什么本地服务器上IIS的FSO对象不能使用???
- 关于服务器IIS
- 在本地session能使用 而传至服务器就不能使用 请问原因和解决方法
- 在本地session能使用 而传至服务器就不能使用 请问原因和解决方法!!!!
- 如何用IIS服务器,配制成POP3服务器?
- WEB服务器和IIS服务器有和区别?
- 网站在别人的服务器上,无法使用Global.asa中的Session_OnEnd,如何记录访问日志?
- 如何使用http下载文件,得到服务器的类型(IIS、apache)最好是多线程的,谢谢
- 怎样在IIS中设置使使用特定IP的用户不能在服务器上新建文件夹?





