2

我有一个问题,file.exists aways 返回 false。

情况:执行 file.exists 的服务器 1 有一个映射到位于远程位置的服务器 2 的网络驱动器。

访问和浏览网络驱动器是好的。

但是在运行网页时,我总是得到一个错误。连路径都ok,de文件也存在。

我尝试了两种情况: U:/folders/file.txt 和 //ipadress/folders/file.txt

server2 上的共享文件夹甚至将权限设置为所有人完全控制。

奇怪的是,在 Visual Studio 中运行调试时,它可以工作,并且 file.exists 返回 true。

4

3 回答 3

1

尝试将其解析为 Uri 并检查 LocalPath 属性。如果您不想处理可能的异常,Uri 有一个“TryCreate”用于此目的。

如果您从网页访问它,则该网页可能没有映射(即 U:),您需要使用全名(如 \\myserver\folder\etc)。检查此线程中的第二个答案,了解一些非常有用的方法,这些方法可以让您执行此操作:如何确定映射驱动器的实际路径?

于 2012-11-14T12:09:22.837 回答
0

我猜想在用户的登录脚本中添加以下命令,该脚本在 IIS 的“登录为:”选项中设置,或者您的应用程序服务应该可以解决问题。

net use x: \\SERVERNAME\SHARENAME
于 2012-12-03T13:14:16.110 回答
0

驱动器是按用户映射的,而不是按机器映射的。

这意味着如果您使用自己的用户帐户映射了一个驱动器,但服务器正在使用另一个,则服务器将看不到您映射的驱动器。

于 2012-11-14T21:43:09.503 回答