还是那个session超时数据丢失问题,乱七八糟的。

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# 提问
默认的该是20分钟吧  
  而我的怎么不到2分钟session就丢啦  
  怎么回事啊? 问题点数:0、回复次数:12 Top
1 楼zhouxiaochenchina()回复于 2003-10-27 12:25:25 得分 0
在globle文件里面的sessionstart里面  
  session.timeout=60; Top
2 楼larrybest(拉哩梖斯特)回复于 2003-10-27 12:28:11 得分 0
在globle文件里面的sessionstart里面  
  session.timeout=60;  
  绝对没错!!! Top
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
4 楼acewang(龍芯*Inside!)回复于 2003-10-27 12:38:16 得分 0
调试时候的Session不能为准 Top
5 楼qiuji(忆秋季)回复于 2003-10-27 12:38:54 得分 0
>>>>而我的怎么不到2分钟session就丢啦  
  怎么回事啊?  
   
  是不是你在运行的过程中重新编译了 程序 ,或者修改了配置文件?  
  如果是,那session肯定丢失的。 Top
6 楼eliphe(未来)回复于 2003-10-27 12:44:35 得分 0
在globle文件里面的sessionstart里面  
  session.timeout=60;  
  绝对没错!!!  
  Top
7 楼rgbcn(奔向.net)回复于 2003-10-27 12:56:56 得分 0
ASP.NET   SESSION的使用及原理  
  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
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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值