日期:2014-05-17  浏览次数:20715 次

请教,用XMLHTTP生成静态页有时不好使
我有个站是用asp+access做的
生成静态页(信息内容页。)用的是XMLHTTP+fso生成的(不是用模板),
有次我把信息内容页修改的了,然后重新一起生成的时候,却有很多都生成不出来
数据量能有1W左右。请问一般这是什么原因???

1.有时能生成有时不能,打开asp页面还是好使的,如nei.asp?id=1。程序上没看出是哪里错,因为网上都是通用的,而且在本地上都是好使的,只是放在服务器上有时会出现错误。应该是哪块原因??

2.不想用模板生成,因为还得重新做模板页(如果用模板能防止这种情况发生,那我就用),而且不用伪静态,请问大家都是用什么方法生成的??

3.用XMLHTTP方法生成,读取页面源码什么的,一定要用http://的绝对路径,因为我用不是采集而是本站信息生成,我总感觉这样会更消耗服务器,请问有什么方法??

4.一起生成,我一般都是记录集

while not rs.eof
生成html函数
rsn.movenext
wend

这么生成的,但是我总感觉一起生成太耗资源了,我顶多是手动写序号,先生成1到500.然后生成完后在501到1000那么生成

请问还有什么方法能好点???(只是修改内容页后才一起生成,平常就是写一条就自动生成一条的)

------解决方案--------------------
你的所谓生成不出来是指什么?完成没有生成这个页面还是页面生成了但是里面的内容没有?
如果是第1种情况,那么应该是某种原因导致还没有到生成的时候就movenext了,如果是第2种情况,就要查一下目标页的代码了。没有看到你的生成代码,不好说,先帖代码吧。
------解决方案--------------------
换性能高点的 HTTP组件试试看, 不过也不能100%保证每次都能连接成功,毕竟会受到网络和w3服务的限制,不像本地程序来的可靠。
------解决方案--------------------
提个建议

Http.status <> 200 时,记录id及http.status(方便后续定位问题), 或者可做第二次抓取的尝试




adodb.Stream 可以把 http.responseBody 直接 SaveToFile(path, 2)
不需要 ReadText 再用 fso 保存文件
保存失败也建议做 log 操作
------解决方案--------------------
通过ajax的异步,每次更新一页,循环N次,N=10000都不会出现超时现象