Asp.net用session存东西是否是很占服务器资源?为什么?

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:13:49
希望给出理由
具体问题是这样的
在Global.asax.cs中有个Session_Start事件,是任何用户访问时都会触发的。我就理解为对于每个访问的用户都会建立Session,觉得如果再建几个应该也没问题。但现在的情况是是访问量不算太大,但是服务器本身很成问题。
关于这个的实际问题我已经想好用cookie解决了。谢谢大家,待会儿给分。
欢迎高手给我详细讲解。qq280607726。

只能说占服务器资源.如果你的网站不是门户网站的话.那就放心用好了.没什么问题.
Session按微软的说法.一个session最多占6K数据

但session在服务器保存时.就是你访问的时候会造成不停的线路访问.耗服器与网路资源.
所以在超大的网站中一般很少使用.

========================
session的工作原理

就session的实现而言,好像是这样的:
(1)当有Session启动时,服务器生成一个唯一值,称为Session ID(好像是通过取进程ID的方式取得的)。
(2)然后,服务器开辟一块内存,对应于该Session ID。
(3)服务器再将该Session ID写入浏览器的cookie。
(4)服务器内有一进程,监视所有Session的活动状况,如果有Session超时或是主动关闭,服务器就释放改内存块。

(5)当浏览器连入IIS时并请求的ASP内用到Session时,IIS就读浏览器Cookie中的Session ID。
(6)然后,服务检查该Session ID所对应的内存是否有效。
(7)如果有效,就读出内存中的值。
(8)如果无效,就建立新的Session。

注意:
(1)在大浏览量的网站,Session并不保险,我们过去的网站就经常碰到存在Session中得值不正确(可能出现重复的Session ID)。
(2)Session ID不能从硬盘上的Cookie文件获得,如果想在客户端获知自己的Session ID,只能通过JavaScript来读取(怎么干就自己想办法了)。

是的,但也是无可奈何的,对访问者当时信息的收集,一个是用SESSION,一个是用COOKIE,各有各的好处和缺点,有时候2者可以互相替换使用,但有时候也不行,否则何必弄2个出来

SESSION,就好比你家里有50个佣人,来一个客人就分配一个佣人陪着,为他服务,你家的佣人客观上肯定是有限的,那当客人太多的时候,你说占不占资源

什么叫很占?你存的越多就占的越多。想象一下