请问windows2003+IIS6.0+ASP环境下到底能支持多个Session呢?
楼主xiaoyaohudie()2006-12-21 11:07:43 在 Web 开发 / ASP 提问
小弟开发了一个教师在线调查系统,在提交之前是将所有的数据放在Session里的,每个用户在提交这一刻之前Session变量的总数大概会达到150个(或更多)左右,如果有200台电脑同时调查的话,是否会超出Session数量的范围而出错.
问题点数:100、回复次数:25Top
1 楼jxsddboy22(此人已死,有事烧纸)回复于 2006-12-21 11:16:22 得分 5
不知道会不会出错,反正影响效率是肯定的Top
2 楼yeaky()回复于 2006-12-21 11:18:03 得分 5
也就3W个,应该没问题
单算内存的话不会太多,
最好还是用.net吧,写在类里面,应该简单一些。Top
3 楼raybvb09(www.our1983.com←83年出生的来玩)回复于 2006-12-21 11:29:33 得分 5
似乎是没有数量限制,不过150个SESSION??你的服务器能受得了?测试过吗Top
4 楼webmm(一笑而过)回复于 2006-12-21 11:41:01 得分 5
在线调查到一半,session消失,还必须重来,不建议-_-Top
5 楼friendlyFour(web开发四人组)回复于 2006-12-21 12:15:47 得分 5
这样做是会发生一些异常的现象,以前也遇到过。(没有lz的session的个数多)。
换一种方法好了!Top
6 楼FEB15(张郎)回复于 2006-12-21 12:21:19 得分 5
你也够辛苦的了,用隐藏表单和Session完全一样,只是一个占用客户端资源一个占用服务器资源。
楼主要练习一下JavaScript了,这样的系统如果人数达到一定量,太耗费资源了,这样的程序你以后面试的时候拿出来展示,我第一个不要你。Top
7 楼deknight(追逐梦想)回复于 2006-12-21 12:28:47 得分 5
倘若你Server.ScriptTimeOut = 999
嘿嘿。。。Top
8 楼xiaoyaohudie()回复于 2006-12-21 13:03:05 得分 0
我已经决定用另外一种方法了?将所有要调查的教师的信息全放在一个Session变量里,中间用特殊字符分开,再将所有的调查答案放在另外一个Session变量里,加上其它的控制流程的Session变量总共才不到10个,到数据提交到数据库的时候再进行分割至本地变量中提交,不知这种方法有没有什么很大的缺陷,请大家指点一下.Top
9 楼xiaoyaohudie()回复于 2006-12-21 13:04:18 得分 0
倘若你Server.ScriptTimeOut = 999
嘿嘿。。。
======================================
我在数据提交到服务器数据库后用Session.Contents.RemoveAll将所有的Session销毁了.Top
10 楼showlin(六斤八两八)回复于 2006-12-21 13:13:51 得分 5
session的机制基于cookies,cookies限制一个站20个,总共4k大小Top
11 楼yizia(椅子)回复于 2006-12-21 13:19:15 得分 5
把非敏捷对象保存在session中的时候,例如ado中 的connection对象
我做过测试,和内存可以说成正比。
所以除非是很小的应用,图方便,我才会把这些东西保存在session中Top
12 楼yizia(椅子)回复于 2006-12-21 13:19:48 得分 5
补上:受数据库连接池限制影响,是500个sessionTop
13 楼xiaoyaohudie()回复于 2006-12-21 13:26:08 得分 0
补上:受数据库连接池限制影响,是500个session
----------------------------------------------
这位兄台可否说明白些,Session数量大小与数据库有关系?我已经用60机电脑做了测试,Session变量大概已经超过8000个了,但没出什么问题,我是怕如果同时调查的人数更多的话会出问题的.Top
14 楼SDDKILLER()回复于 2006-12-21 13:36:07 得分 5
这种数据交换还是别用SESSION了要不然真的会累死的,推荐隐藏表单传递,session这种东西还是少用为妙,毕竟服务器是独立运行,客户机可以分布式运行,这样可以减轻N多压力
PS:喝多了,不对的地方请高手提出~Top
15 楼opelmk()回复于 2006-12-21 14:46:51 得分 5
Cookies吧Top
16 楼yeaky()回复于 2006-12-21 15:13:57 得分 5
楼主是同时啊,如果用隐藏域的话,服务器的负担会很重,不见得比现在用session好吧?
几W个session不算什么的,应该可以用,占内存应该也是10M以内!!
只要你自己不做乱了,应该没有问题。Top
17 楼yeaky()回复于 2006-12-21 15:15:18 得分 5
如果怕出问题
最好是让用户分时段进行Top
18 楼yeaky()回复于 2006-12-21 15:20:19 得分 5
一个用户怎么可能有150个session呢?
有150个题目?把答案全放在session里了?再一次性提交服务器?如果这样的话,这方法也太烂了吧?Top
19 楼xiaoyaohudie()回复于 2006-12-21 17:20:20 得分 0
是很烂,我是个大菜鸟啊!Top
20 楼rqrq()回复于 2006-12-21 20:53:34 得分 5
可以把内容写进数据库,然后在客户端生成一个cookie来辨识。Top
21 楼minkingshine(sk)回复于 2006-12-21 22:46:27 得分 5
按照系统设计来说 兄弟这样做出来的东西 就算是不超出session的最大 范围 做出来的也是 lj(恕我直言)
session 变量是存放在服务器端的 一个session大概占20k吧!(不知道是多少了)你做的一个系统 一个用户提交一次就有150个session 你想想就算是再好的服务器 运行起来我看也是够呛Top
22 楼xiaoyaohudie()回复于 2006-12-22 08:58:15 得分 0
我已经用另外一种方法了,将所有要调查的教师的信息全放在一个Session变量里,中间用特殊字符分开,再将所有的调查答案放在另外一个Session变量里,加上其它的控制流程的Session变量总共才不到5个,到数据提交到数据库的时候再进行分割至本地变量中提交,不知这种方法有没有什么很大的缺陷,请大家指点一下.
Top
23 楼ishion(爱森)回复于 2006-12-22 09:46:25 得分 5
如果特别多的话,可以用数组,
应该是500个Top
24 楼xiaoyaohudie()回复于 2006-12-23 10:08:00 得分 0
怎么没人讨论了啊Top
25 楼yizia(椅子)回复于 2006-12-23 23:52:04 得分 10
那我再简单总结一下吧。
数据存储方案:
调查表A(a1,用户id...)
调查表B(b1,b2,b3...)
调查数据表C(a1,b1,b2,b3...)
每个用户开始填写调查表,就在表A的a1插入一个不重复的值,我们称呼为考卷编号,当然了,要把用户id插入进去才能建立关联;
通过表B,生成多页调查问卷;
每页调查问卷用form提交,依次保存到表C;
这样做还有一个好处,断电续答……
Top
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |








网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)