Discuz!NT在线用户自动归零Bug分析及解决办法
使用Discuz!NT一段时间的,最近发现论坛上面的在线用户频繁归零,以前都没有出现过这样的错误,对服务器进行检查后,确定不是服务器的问题,于是就考虑是不是Discuz!NT的Bug 幸好Discuz!NT是开源的,于是从官网Down源代码下来解读当中的奥秘 在源代码中找到了下面一段: /**//// <summary> } 引用Msdn中的一段话 该属性的值从系统计时器派生,并以 32 位有符号整数的形式存储。因此,如果系统连续运行,TickCount 将在约 24.9 天内从零递增至 Int32.MaxValue,然后跳至 Int32.MinValue(这是一个负数),再在接下来的 24.9 天内递增至零。 也就是说当过了24.9天之后,System.Environment.TickCount的值就为负数,System.Environment.TickCount < 600000的值就为True,在线用户表就会经常被重建归零 知道原理后有什么解决办法呢? 1、最笨的办法重启服务器,这样的话System.Environment.TickCount的值就会归零,你又能用24.9天了 2、如果懂得编程的话就Down源代码下来,把判断逻辑修改为: if (System.Environment.TickCount < 600000 && System.Environment.TickCount >= 0)
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |