【问题标题】:Directory.Exists(@"\\SERVERIP\aFolder\bFolder"); always returns falseDirectory.Exists(@"\\SERVER IP\Folder\Folder");总是返回 false
【发布时间】:2016-04-05 12:17:52
【问题描述】:

以下路径总是返回false

Directory.Exists(@"\\SERVERIP\aFolder\bFolder");
// where SERVERIP is the server-IP which is being accessed using Impersonation

调试代码后,将double-slashes放在Debugger中。

我在WindowsExplorer 中访问了没有@double-quotes 的上述文件路径。

我做错了什么?

[ 代码将在network 上运行]

【问题讨论】:

  • 您有权访问该共享吗?在这里工作正常。
  • 感谢您的快速回复。是的@PatrickHofman,我可以访问它并在 Windows 资源管理器中打开它,正如已经发布的那样
  • 这不适用于 Visual Studio 或其他机器吗?你是如何测试这个的?
  • 我已经从 Visual Studio @PatrickHofman 测试过
  • 确保运行 Web 应用程序的帐户有权访问此网络共享。如果您从 IIS 运行应用程序,则可以将其配置为使用不同的应用程序池标识。

标签: c# string path asp.net-mvc-5


【解决方案1】:

由于Visual-Studio 使用的default-paths,问题可能出在paths-[Source/Destination] 中(两个或其中一个[source/destination] 可能导致问题)。那么让我一步一步解释如何检查路径是否为correct/incorrect


配置** SOURCE-PATH **:

有时,此路径 DRIVE:\ProgramFiles\IISExpress(或其他路径,取决于 IIS 的安装位置)与您在 input 中提供的 SOURCE-PATH 连接 要解决此问题,请按照/验证以下步骤:

  • 确保您使用的SOURCE-PATHFileProject-Folder
  • 访问SOURCE-PATHFile。始终使用此路径/方式:
// 1. SOURCE-PATH + fileName with Extension<br> 
Server.MapPath("~\FolderInsideProjectFolder\", "fileName.extension");

配置** DESTINATION-PATH(到映射网络) **:

如果您输入的路径包含一些单词mispelled 或如果您无权访问指定的Server-IP[DestinationServerIP],则此路径会产生问题。要解决此问题,请按照/验证以下步骤:

  • 在访问 DESTINATION-PATHFile 之前,请确保您所指的 IP 地址对运行您的应用程序代码的帐户是可访问的。
  • 访问DESTINATION-PATHFile。始终使用此路径/方式:
// 2. DESTINATION-PATH + fileName with Extension
@"\\SERVERIP\aFolder\bFolder" + "fileName.extension";

注意: 请记住,可以通过寻址其完全限定地址来检查SOURCE-PATH 是否(存在/不存在),在这种情况下,如果存在,它将返回true(windows-explorer 显示的完整路径你在Address Bar (Windows-Explorer) 喜欢DRIVE:/....../

额外信息:(因为它是基本意图)

Copy文件从local-systemnetworked-mapped drive/path的一行指令是:

System.IO.File.Copy(
     Server.MapPath("~\FolderInsideProjectFolder\", "fileName.extension"), 
     @"\\SERVERIP\aFolder\bFolder" + "fileName.extension" 
     [, true ] // Optional if you want the file to be over-written or not
);

请告知,如果还有什么没有清除(但经过一番很好的搜索后☋☛)

【讨论】:

    【解决方案2】:

    当用户(人类、系统用户,如 IIS_IUSR 或应用程序)缺乏所需的权限时,我经常看到文件(或目录)访问问题。

    根据asker面临类似问题的这个question,我相信this可以帮助你。

    如果有帮助,请告诉我们。

    【讨论】:

    • 感谢您的分享和支持
    • @MalikAsif 对不起,我没在线。您可以分享您的有用编辑,anyone 可以接受。
    • @Malik:我正要拒绝你的编辑。您应该输入编辑作为单独的答案。 1.您的编辑不是为了澄清学生的答案(这是一个很好且有用的答案,其他人很可能会发现这是他们问题的解决方案)。您的编辑是关于一个完全不同的答案。 2. 完全允许回答您自己的问题(并接受该答案)。
    • 我拒绝了你的回答,因为“应该是回复”,其他人拒绝了它,因为“与作者的意图冲突”。
    • 哦,在接受您自己的回复时:如果您这样做,您将不会因为撰写已接受的回复而获得声望奖励。你不能给自己声誉(原因很明显)。
    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多