动网论坛掉线的问题分析和处理方法

关于掉线,我想使用动网论坛的不少朋友都会遇到过。为了能让大家正确的理解掉线,我们先来看看动网论坛身份验证的依据和原理。
当您访问论坛页面的时候,服务器会提取您的浏览器保存的cookie信息,根据cookie信息的内容来判断您是否是登录状态。
下面就几种常见的掉线现象分析其原因
1、无法写cookie信息到客户端,表现为登录提交密码和帐号后没提示有错误,但用户仍然是处于未登录的状态。
根据经验,发生这问题的原因多为:
a、用户的电脑时间不正确,比如用户的系统时间已经设置到2007年了。这就算写入了cookie也会被视为过期了。
b、客户端因为浏览器设置了禁止cookie,无法保存cookie.
以上两种情况是客户端问题,表现为个别或部分用户有问题。
以下的则是服务器或站点设置的原因:
c、服务器的时间设置不对,如服务器时间是2004年,则就算写入了cookie也被视为过期。
e、采用异域的框架的页面无法正确写入cookie.
什么是异域的框架呢?比如你访问的页面为 http://www.aspsky.net/main.asp 这是一个框架页。
其子框架访问的是bbs.dvbbs.net 这时候,尽管你看到的是bbs.dvbbs.net的内容,如果你在这个地址登录,客户端会把cookie当成是www.aspsky.net的当你提交cookie的时候,则是提取bbs.dvbbs.net.造成错误。
这个有的人用的是二级域名转址的,就是这个情况了。二级域名转址是用了框架的。
切记,不要使用异地域名框架,上面的例子里,如果框架页是bbs.dvbbs.net/main.asp则是无问题的,因为是和论坛同一个站同一个域。
2、偶然性的掉线。
分析:这个一点都不希奇的,因为我们是身处网络环境,既然我们验证身份的依据是cookie,而cookie则是依靠网络传输的,总不能每次都无错是不是?
当频繁的出现,这才需要想办法去解决。
另外一个因素,因为我们的cookie也是动态的,会变的,当服务器更新了你的cookie,而刚好你的电脑又写入失败。。。。
还有,我们除了使用cookie也同时使用了session (会话) 这个会话,是客端和服务器端临时的身份证,当服务器重启动IIS的时候,所有的会话都会注销。。。。。这时候也可以造成掉线。
如果您的服务器状态不好,频繁的重启动IIS进程,会话被频繁注销,那么你掉线的机会就大增了。
这个会话的问题,还影响到后台登录,下面第三点就是说这个
3、进入后台一会就掉出来,本来,会话是有时间控制的,当你一定时间内不访问页面,会话就会被注销,这个时间通常设置为20分钟,为什么你进了后台几分钟会几十秒就掉了出来呢?
这除了服务器设置的会话时间过短造成之外,更主要的原因就是你的服务器的IIS频繁的回收会话。频繁回收的原因多是因为服务器内存不足,如果是虚拟主机,出这样的问题一点都不奇怪了。

解决方法
对前面说的第一、二类问题,可以就具体情况处理,既然已经详细分析了原因,那就不用说也知道如何解决了。
对第三种情况,就是进入后台掉线,服务器会话频繁回收的问题。可以有如下几个解决措施:

1、合理设置会话回收时间。(具体操作暂不说,有服务器的控制权)
2、如确认为内存不足,可以采取禁止session的方法来减少内存消耗,从而达到减少掉线机会的目的,不过这个对需拟主机的可能没什么作用,如果服务器本身内存不足,其他站点使用内存过多,也会影响到你的站点的。
禁止session的方法:
Conn.asp的设置的修改。
Const EnabledSession=True 这里设置为Ture 则使用session记录用户临时信息,可以减少访问数据库的次数以提高效率,缺点是占用服务器内存稍大。

3、独立主机用户增加服务器的物理内存。并且合理的设置服务器的IIS进程。(我不是这方面的专家,我就不说怎样搞了,自己去研究啦)