【问题标题】:Are there folder size limitations on virtual directory in IIS 7.5?IIS 7.5 中的虚拟目录是否存在文件夹大小限制?
【发布时间】:2012-07-17 20:42:02
【问题描述】:

我在 IIS 7.5 中有几个指向网络资源的虚拟目录。具体来说,这些文件夹包含 PDF 文件。我已授予用户对这些文件夹的权限,并且可以通过 Web 请求访问它们的内容,正如我所期望的那样。例如,http://mysite/dir1/test.pdf 完美适用于两个虚拟目录。但是,当我尝试展开其中一个虚拟目录(另一个工作正常)以查看子文件夹时,IIS 管理器几乎立即变得无响应。

我正在尝试在经典 ASP 页面上的虚拟目录中列出所有 PDF 的文件名。

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
filepath = Server.MapPath("/resources/myfolder")
Set folder = objFSO.GetFolder(filepath)
For Each file in folder.Files
    If file.Type = "PDF File" Then
        Response.Write("<p>" & file.Name & "</p>")
    End If
End If

Set folder = Nothing
Set objFSO = Nothing

在一个单独的页面上,我使用相同的代码来列出另一个虚拟目录的内容。但是,此其他目录(与 IIS 管理器一样)会因不响应而导致问题。它会导致整个网站变得无响应,我必须回收到应用程序池才能让它回来。

用于访问这些资源的用户帐户的有效权限是相同的。所有文件都可以访问,我已经通过硬编码fso.FileExists(filepath &amp; filename) 确认它们存在。我还确认文件夹对象存在并且正在设置它的属性。即使folder.Files.Count 在这两种情况下都设置正确。问题是循环调用folder.Files 会导致无响应行为。是否有文件大小和/或文件夹大小限制?我在两个目录之间看到的唯一区别是文件的数量以及文件夹的大小。不工作的只有1GB多一点。

【问题讨论】:

  • 我们在谈论多少个文件?此代码是作为 IUSR 还是作为 authetnicate 用户运行? IUSR 或经过身份验证的用户是否有权访问 UNC 共享和文件夹?

标签: iis asp-classic filesystemobject iis-manager


【解决方案1】:

我不知道存在大小限制。我会假设限制是我的机器存储的大小。至于显示文件夹内所有文件的列表,当列表变长时,您可能会遇到一些速度问题。获取文件路径等会导致文件 I/O 操作占用更多资源。我会设计我的应用程序,每次用户发布新的 PDF 时,我都会将文件详细信息(名称、位置)存储在数据库中,然后将图像放入文件夹中。 这样,当用户想要检索文件时,我会进行文件抓取(这是文件 I/O 并占用更多资源),如果我只想显示文件列表,我会从数据库表中读取它超过 4 列宽,数据库可以轻松处理数百万行读取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多