尝试列出文件夹中的前100个最新文件时出现内部服务器错误

时间:2014-12-25 04:38:29

标签: asp.net

我有一个包含114,000个文件的文件夹(不在我的控制范围内),我想只列出最近修改过的100个文件。所以我把来自不同来源的ASP脚本混在一起,但是当我运行它时它会给我一个内部服务器错误。

<%
Function SortFiles(files)
    ReDim sorted(files.Count - 1)
    Dim file, i, j
    i = 0
    For Each file in files
        Set sorted(i) = file
        i = i + 1
    Next
    For i = 0 to files.Count - 2
    For j = i + 1 to files.Count - 1
        If sorted(i).DateLastModified < sorted(j).DateLastModified Then
            Dim tmp
            Set tmp = sorted(i)
            Set sorted(i) = sorted(j)
            Set sorted(j) = tmp
        End If
    Next
    Next
    SortFiles = sorted
End Function

dim fileserver,files,file,i
set fileserver=Server.CreateObject("Scripting.FileSystemObject")
set files=fileserver.GetFolder(Server.MapPath(".")).Files

i = 0
For Each file in SortFiles(files)
    Response.write(x.Name & "\t" & x.Size & "\n")
    i = i + 1
    If i > 100 Then
        Exit For
    End If
Next

set fo=nothing
set files=nothing
%>

我想要列出的文件只需要用新行分隔它们的名称和大小。我是ASP的新手,所以我不确定如何调试它。

1 个答案:

答案 0 :(得分:0)

将代码从aspx移动到aspx.cs(代码隐藏),您可以通过添加断点来调试它,并使用F10 / F11来跳过/步入。我不知道你是否可以调试内联代码,看起来你可以by some SO answer

乍一看,SortFiles不会返回文件列表,因此无法在For Each循环中使用。

For Each file in SortFiles(files) //exception

这是为了什么?

SortFiles = sorted

我不懂VB,但你可以自己调试。