无法访问虚拟目录

时间:2017-09-12 20:04:18

标签: vb.net iis

我在vb.net中有以下代码:

    Dim PreApprovalDir = "/Inspections/"  ' Virtual Directory to N:\Inspections\Pre-Approval Inspections

    Dim di As New DirectoryInfo(Server.MapPath(PreApprovalDir))
    Dim fiArr As FileInfo() = di.GetFiles()
    Dim fri As FileInfo
    For Each fri In fiArr
        'If fri.Name.StartsWith(FileNamePrefix) And fri.Name.EndsWith(".pdf") Then
        If fri.Name.StartsWith(FileNamePrefix) Then
            Exit For
        End If
    Next fri

我收到以下错误:

[DirectoryNotFoundException: Could not find a part of the path 'N:\Inspections\Pre-Approval Inspections'.]

di.GetFiles()行。

我使用GUI设置虚拟目录是IIS所以我有信心我没有拼错任何东西。

我浏览到Windows资源管理器中的N:\ Inspections \ Pre-Approval Inspections。

我是IIS和VB.net的新手,所以这可能是我的一些愚蠢的错误。在我开始工作之后,我需要访问找到的文件:

我会这样读他们:

Response.WriteFile(Path.Combine(Server.MapPath(PreApprovalDir), fri.Name))

[编辑]这与其他StackOverflow问题不同,因为GetFiles()调用失败了。

如何将此调试作为源文件夹的权限问题?我可以使用Windows资源管理器浏览到该文件夹​​。我还能检查一下吗?

[编辑:报告重大进展] 我将我的数据从N:复制到C:并且能够使其工作,包括从磁盘读取.pdf文件。是否有一些限制,虚拟目录不能在共享驱动器上工作?如果不是,我会深入了解权限。

1 个答案:

答案 0 :(得分:0)

解决方案是我需要将虚拟目录指向

\\ServerN\c\somepath\

而不是

N:\somepath\

IIS没有发出任何警告,表明映射驱动器不起作用。

但是,当我成功映射IIS配置实用程序中出现的子文件夹时。那是我发现自己成功的时候。因为这是我第一次使用虚拟文件夹,所以我不知道要查找它。