asp生成静态页面HTML的问题

schinar 2010-04-19 10:44:13
把动态页面转换为静态页面,采用下面的代码:

<%
Call CreateHtml("http://192.168.1.7/index.asp","index.htm","/")

Function CreateHtml(Url, Filename, Path)
Set MyFileObject = Server.CreateObject("Scripting.FileSystemObject")
Path1 = Server.Mappath(Path) & "\" & FileName
Set MyTextFile = MyFileObject.CreateTextFile(Path1)
MyTextFile.WriteLine(GetHTTPPage(Trim(Url)))
MytextFile.Close
Response.Write "生成" & FileName&"成功<br>"
Set MyFileObject = Nothing
End function

Function GetHTTPPage(Url)
On Error Resume Next
Dim Http
Set Http = Server.createobject("Microsoft.XMLHTTP")
Http.open "GET", url, False
Http.send()
If Http.Readystate <> 4 Then Exit Function
GetHTTPPage = BytesToBSTR(Http.ResponseBody,"GB2312")
Set Http = Nothing
If Err.number <> 0 Then
Response.Write "<p align='center'><font color='red'><b>服务器获取文件内容出错</b></font></p>"
Err.Clear
End If
End Function

Function BytesToBstr(Body, Cset)
Dim ObjStream
Set ObjStream = Server.CreateObject("AdoDB.Stream")
ObjStream.Type = 1
ObjStream.Mode =3
ObjStream.Open
ObjStream.Write Body
ObjStream.Position = 0
ObjStream.Type = 2
ObjStream.Charset = Cset
BytesToBstr = ObjStream.ReadText
ObjStream.Close
Set ObjStream = Nothing
End Function
%>

放在web服务器中,通过设计让它每10分钟执行一次,产生index.htm文件,短时间内一切正常,过了几天后,程序就提示红色代码处没有权限,然后打开服务器,发现index.htm文件是0字节,想把它删除,提示该文件正被另一个人或程序使用,拒绝被删除,只有重新启动服务器后,才能删除它,再运行上述代码,则一切正常。为什么会出现index.htm被死锁的局面呢?
...全文
185 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
schinar 2010-05-13
  • 打赏
  • 举报
回复
现在正常了。
schinar 2010-04-26
  • 打赏
  • 举报
回复
决定更改一下思路,先生成一个HTML文件,生成成功以后再覆盖现有的index.htm。
schinar 2010-04-23
  • 打赏
  • 举报
回复
第三天后,又出现问题了,index.html被系统锁定了,文件长度是0字节,提示这个文件正被其他人或程序使用,只能重新启动服务器。

欢迎大家参与啊,进来的就有分赠送。
行间 2010-04-22
  • 打赏
  • 举报
回复
fso 会不能写不同编码的文件,推荐用 adodb.stream 写文件
schinar 2010-04-22
  • 打赏
  • 举报
回复
已经三天了,目前很正常。
fengxingphp 2010-04-22
  • 打赏
  • 举报
回复
赚点分
hahadekuai 2010-04-22
  • 打赏
  • 举报
回复
关注此问题的进展!
daniel_jusa 2010-04-22
  • 打赏
  • 举报
回复
fso不支持utf-8吧。支持gb2132
aaron532725130 2010-04-22
  • 打赏
  • 举报
回复
关注!
yoory 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zl_system 的回复:]
fso 会不能写不同编码的文件,推荐用 adodb.stream 写文件
[/Quote]

用stream会不会提高生成速度
xuskyline 2010-04-20
  • 打赏
  • 举报
回复
asp很基础,不过还是有很多问题
schinar 2010-04-20
  • 打赏
  • 举报
回复
昨天把代码改了一下,增加了Response.End这一句,目前正在测试当中,到目前为止还没有出现上述的问题。
acogle 2010-04-20
  • 打赏
  • 举报
回复
关注。。。。。
weberwong 2010-04-19
  • 打赏
  • 举报
回复
create的时候是有锁参数的,加个锁吧
kaifadi 2010-04-19
  • 打赏
  • 举报
回复
关注,顶起!

28,408

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧