這是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