您的位置:首页 > 编程语言 > ASP

一个非常奇怪的问题,搞ASP多年还从没有碰到过

2006-07-20 10:51 543 查看
最近碰到麻烦了,
两个月前在手下一个网站的首页上加了一个计数器,
运行一个半月均没有出现任何问题,
但是最近半个月以来很是让我头疼,
计数器分两个文件,一个程序一个供读写访问数据的文本文件。计数器包含于主页文件里面。

出现问题的现象是:
早上我来上班计数器完好,第二天读写访问数据(专门记录访问量)的文本文件就为空了,
奇怪的是原来的访问量数字全变成了空格。

然后主页就提示:类型不匹配: 'Clng' 出错行为:Counts = Clng(objTS.ReadLine)

然后我修复,当时测试都好,但过不多久就又坏了!
搞不清楚是不是我的服务器FSO权限是不是发生了变化会引起这种现象。

附计数器简单程序 :
<%
Function G_Counts(CounterFile)
Dim objFSO, objTS, Counts, StrCounts
Counts=434475
Application.Lock
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 1, True)
If Not objTS.AtEndOfStream Then '检查是否到达文件结尾
Counts =Clng(objTS.ReadLine)
End If
Counts = Counts + 1
objTS.Close
Set objTS = objFSO.OpenTextFile(Server.MapPath(CounterFile), 2, True)
objTS.WriteLine(Counts)
objTS.Close
Application.Unlock
StrCounts = CStr(Counts)
For i = 1 to Len(StrCounts)
G_Counts = G_Counts & "<IMG SRC=gif/" & Mid(StrCounts, i, 1) & ".gif>"
Next
End Function
%>
<%
If Session("Counter") = Empty Then
Session("Counter") = G_Counts("jishu1015.asp")
End If
%>
<%= Session("Counter") %>
 
 
 
net_lover(孟子E章) 于 2005-10-21 8:53:25
计数器适合放数据库,放文件中有办法冲突的问题。你的问题就是并发造成的
 
 
lxcooi(流星の梦) 于 2005-10-21 10:25:26
搞个变量存呗,每百次写一次文件。
 
 
sina0020(zouran) 于 2005-10-21 13:59:43
我倒是觉得计数器放数据库不是太好,
像这样不是太重要的数据能不通过数据库就尽量不通过数据库.

不过设个变量,每百次写一次文件倒不失为一个好办法!
 
 
bluesky1314520(bluesky) 于 2005-10-21 14:21:31
累加的时候要锁定,不然引起并发,程序就不知道是什么处理结果了!
 
 
HHH3000(蓝色爱琴海 有机会就抽自己!重头再来!) 于 2005-10-21 14:49:30
孟子一语道破天机阿~~

我之前也遇到过,就是这个问题,
现在没找到什么好的解决办法~~
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐