Session问题是老问题了,一直都没有很好的解决办法。 |
kgdiwss(∮明天去要饭) 于 2005-7-28 12:56:58 |
超时?还是丢失? |
mokermo(mokermo) 于 2005-7-28 13:03:36 |
设置session的超时时间长一点,或者过段时间自动触发对页面刷新,保持后台session |
haolaiwu(夜风) 于 2005-7-28 13:13:47 |
按道理有些机器可以,另外的机器上也应该是可以的啊!! |
gyf19(秋天的云) 于 2005-7-28 13:19:22 |
session很难解决!! |
PPLUNCLE(人最可怕的是没有了方向) 于 2005-7-28 13:22:50 |
在有的机器上session正常,有的老是丢失 |
sp1234(就要离开兰州了) 于 2005-7-28 13:38:04 |
如果你的Session中要长时间保存数据,不要使用InProc方式。 |
WTaoboy(SnowMans) 于 2005-7-28 13:48:40 |
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /> 启动ASP.NET state Service 服务 |
PPLUNCLE(人最可怕的是没有了方向) 于 2005-7-28 16:15:33 |
WTaoboy(SnowMans) 我改了,但是还是没用,最郁闷的是session不正常的客户那边一个重要领导的机器。 |
drk928(一起看斜阳) 于 2005-7-28 16:27:09 |
你的服务器设置有问题.. 我以前做了一个应用上传至买的WEB空间.结果就这样.后来要他们技术人员改,说是改了内存限制就OK了..用了二年了,一直没问题. |
PPLUNCLE(人最可怕的是没有了方向) 于 2005-7-28 16:42:52 |
内存限制怎么回事,楼上的兄弟能说清楚点么? |
PPLUNCLE(人最可怕的是没有了方向) 于 2005-7-28 17:10:43 |
up |
lulei(特呆) 于 2005-7-28 17:26:19 |
我怎么没遇到这样的问题啊!!! |
ksn520(泡菜.Net) 于 2005-7-28 17:30:47 |
session是不是真的有问题啊 |
sp1234(就要离开兰州了) 于 2005-7-28 18:03:58 |
state Service方式还“丢”session,要么是你改的不是服务器上应用程序的配置,要么就是你自己的程序总是清除session。一年半前,我曾经见过个程序在页面传递参数用session,例如sesison["parameterName"],然后接收有时清除(remove)session,甚至有个页面竟然把session清空。一个把全局变量当作胡乱占用和修改、清除的程序员技术再好也是危险的,因为它不能与别人好好地合作。 |
sp1234(就要离开兰州了) 于 2005-7-28 18:07:34 |
把session存储在装台服务器上,不仅不怕asp.net进程重启和“内存限制”,就算服务器经常突然断电,重起之后依然保持着客户端会话sesison的值。完全可靠! |
sp1234(就要离开兰州了) 于 2005-7-28 18:29:26 |
如果要在页面之间用session传递参数,应该随机生成keyName,然后用session[keyName]保存变量,再将keyName使用url参数传递给接收页面,这样不至于你自己占用的session把别人和系统的session“冲掉”。 当然不用session,用只保持10秒钟的cache传递临时参数才是正解。 长期保存、整个会话期间各页面公共的session参数越少越好,例如少于5个,并且每增加一个就要让所有程序员清楚地知道并且知道要好好维护。 session是工作在你的应用程序进程中的。asp.net进程、iis往往会在20分钟之后重启相关的应用程序,缓冲池满了(例如100个之后)也会重启,各种进程保护措施都会随时重新启动,因此InProc方式丢失session是很正常的事。csdn上明确告诉了这种模式只能保存“易失的、暂时的”变量,这是cache没有之前的一种解决方案。而长期保持的数据就要保存在外部数据源中。状态服务器就是一种进程外的数据源。 |
ChengKing(bantamweight) 于 2005-7-28 18:32:37 |
Session失效 引用: Session失效 1.具体是session变量定以后使用response.redirect()或者客户端发出请求的页面,在这个页面中 session变量会失效,无法取出它的值 2.使用server.transfer(),在新的转向页面中却可以取到session变量的值,但一旦在这个新的页面中点击链接,也就是从新从客户端发出请求的话,在响应的页面中session变量就会失效 3.这个是不管你使用框架集文件还是用户控件,只要是在响应客户端请求生成的页面中,session变量都会失效 |
wb000wb(我本将心向明月,奈何明月照沟渠。) 于 2005-7-28 19:34:16 |
建议楼用 cookie 吧, 我的系统最开始也用session,但经常session丢失, 最后忍不可忍了,全部改成cookie方式,问题就得到了根本的解决。 |
PPLUNCLE(人最可怕的是没有了方向) 于 2005-7-28 21:39:09 |
session清空,我也没用过session.abandon之类的 我顶多是释放单独的一个session |
PPLUNCLE(人最可怕的是没有了方向) 于 2005-8-1 8:36:00 |
up |
cndsn(磐石) 于 2005-10-18 10:54:00 |
顶! |
请问.NET中的SESSION该怎么设置超时时间?
楼主zjkun15(古道西风)
2003-10-27 11:01:03 在 .NET技术 / C# 提问
1 楼zhouxiaochenchina()回复于 2003-10-27 12:25:25 得分 0
在globle文件里面的sessionstart里面
session.timeout=60; Top
session.timeout=60; Top
2 楼larrybest(拉哩梖斯特)回复于 2003-10-27 12:28:11 得分 0
3 楼qiuji(忆秋季)回复于 2003-10-27 12:37:33 得分 0
修改
Web
.Config文件:
<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
修改timeout的值,默认20分钟。 Top
<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
修改timeout的值,默认20分钟。 Top
4 楼acewang(龍芯*Inside!)回复于 2003-10-27 12:38:16 得分 0
调试时候的Session不能为准
Top
5 楼qiuji(忆秋季)回复于 2003-10-27 12:38:54 得分 0
6 楼eliphe(未来)回复于 2003-10-27 12:44:35 得分 0
7 楼rgbcn(奔向.net)回复于 2003-10-27 12:56:56 得分 0
ASP.NET SESSION的使用及原理
http:// www .tongyi.net/article/20010508/200105081639.shtml Top
http:// www .tongyi.net/article/20010508/200105081639.shtml Top
8 楼rgbcn(奔向.net)回复于 2003-10-27 13:00:34 得分 0
session很象临时COOKIE,只是信息保存在
服务器
上。
(客户机上保存的是SessionID)所以有很多的原因
来解释你的session变量为什么会消失。
使用者的浏览器不接受cookie。session依赖于cookie
才能跟踪用户。
session在一段 时间 后过期了。通常是20分钟后失效。
如果你希望更改它, 你可以使用 Microsoft
Management Console(Web directory -> Properties
-> Virtual directory -> Application settings ->
Configuration -> App Options -> Session timeout)
这可以改变在那个web上使用的所有session的超时时间。
你也可以在ASP脚本中设定。这么写:
Session.Timeout=60 ' 设定超时时间为60分钟 。
Top
(客户机上保存的是SessionID)所以有很多的原因
来解释你的session变量为什么会消失。
使用者的浏览器不接受cookie。session依赖于cookie
才能跟踪用户。
session在一段 时间 后过期了。通常是20分钟后失效。
如果你希望更改它, 你可以使用 Microsoft
Management Console(Web directory -> Properties
-> Virtual directory -> Application settings ->
Configuration -> App Options -> Session timeout)
这可以改变在那个web上使用的所有session的超时时间。
你也可以在ASP脚本中设定。这么写:
Session.Timeout=60 ' 设定超时时间为60分钟 。
Top
9 楼larrybest(拉哩梖斯特)回复于 2003-10-29 16:06:05 得分 0
揭帖
Top
10 楼LighBlade(菜鸟加加油!!!)回复于 2003-10-29 16:29:08 得分 0
上面几位大哥已经说的很清楚了,还有没有可能是页面重载了?
Top
11 楼zkjbeyond(jigi)回复于 2003-10-29 16:43:28 得分 0
哦!学习
Top
12 楼atlove(美女程序员)(*****)回复于 2003-10-29 17:28:29 得分 0
8