我遇到一个问题,即file.exists aways返回false。
情况: 执行file.exists的服务器1具有到远程位置的服务器2的映射网络驱动。
访问和浏览网络驱动器是可以的。
但是在运行网页时,我总是得到一个假的。 甚至路径都没问题,de文件也存在。
我尝试了两种情况:U:/folders/file.txt和//ipadress/folders/file.txt
server2上的共享文件夹甚至将权限设置为每个人完全控制。
奇怪的是,在visual studio中运行debug时,它可以工作,file.exists返回true。
答案 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