【问题标题】:Not able to access Virtual Directory无法访问虚拟目录
【发布时间】:2017-09-12 20:04:18
【问题描述】:

我在 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 文件。虚拟目录在共享驱动器上不起作用是否有一些限制?如果没有,我将深入研究权限。

【问题讨论】:

标签: vb.net iis


【解决方案1】:

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

\\ServerN\c\somepath\

而不是

N:\somepath\

IIS 没有给出任何关于映射驱动器不起作用的警告。

但是,当我成功映射子文件夹时,会出现在 IIS 配置实用程序中。就在那时,我发现我成功了。因为这是我第一次使用我不知道的虚拟文件夹来寻找它。

【讨论】:

    猜你喜欢
    • 2014-06-18
    • 2011-03-18
    • 2014-12-07
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2018-01-09
    相关资源
    最近更新 更多