file.exists总是返回false

时间:2012-11-14 12:01:55

标签: vb.net .net

我遇到一个问题,即file.exists aways返回false。

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

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

但是在运行网页时,我总是得到一个假的。 甚至路径都没问题,de文件也存在。

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

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

奇怪的是,在visual studio中运行debug时,它可以工作,file.exists返回true。

3 个答案:

答案 0 :(得分:1)

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

如果您从网页访问它,网页可能没有映射(即U :),您将需要使用全名(例如\\ myserver \ folder \ etc)。检查此主题中的第二个答案,了解一些非常有用的方法,可以执行此操作:How do I determine a mapped drive's actual path?

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

net use x: \\SERVERNAME\SHARENAME