这是ASP Classic中将文件保存到磁盘的一种方法。这需要很长时间,但我不知道为什么。通常情况下,我不介意这么多,但它处理的文件非常大,所以需要这个需求比100kB快一秒的存储。严重缓慢。 (旧的遗留系统,创可贴修复,直到它被替换...)ASP SaveToDisk方法需要很多时间
Public Sub SaveToDisk(sPath)
Dim oFS, oFile
Dim nIndex
If sPath = "" Or FileName = "" Then Exit Sub
If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\" '"
Set oFS = Server.CreateObject("Scripting.FileSystemObject")
If Not oFS.FolderExists(sPath) Then Exit Sub
Set oFile = oFS.CreateTextFile(sPath & FileName, True)
For nIndex = 1 to LenB(FileData)
oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
Next
oFile.Close
End Sub
我这么问是因为有很多WTF的在这个代码,所以我打的火灾而获得这些的人一些帮助。
您是否尝试过用调试器来查看哪些语句特别慢,或者在每个语句之间放置某种记录步骤以查看需要花费多长时间?我怀疑这是造成你大部分心痛的单一声明。 – SqlRyan 2010-04-27 15:47:23
偏题:你可以通过'If Right(sPath,1)<>“\”然后sPath = sPath&“\”'来改变你对斜线的测试。 – Filburt 2010-04-27 20:20:07
我还没有放置任何日志记录,因为这将包括写入文件... – Dann 2010-04-28 09:45:11