我正在尝试使用C#访问网络磁盘,我尝试过这样做:
if (!Directory.Exists(path)) //With \\Server\path
OR
if (!(new FileInfo(path).Exist)) //With \\Server\path
两个都告诉我它不存在。
我必须说,我正在运行一个ASP.NET站点,我正试图从那里到达它,我不知道这是否重要?
我要做的事情是我的DLL需要一条到其内容根目录的路径,所以我需要指定路径,路径位于磁盘S但磁盘S不是逻辑磁盘,它是网络磁盘。
我们以整个域的管理员身份启动IIS网站,以防止没有权限。
答案 0 :(得分:0)
Server\\path\path\path
对我来说看起来不像是正确的UNC路径名。
\\Server\path\path\path
应该是正确的。
其次,运行IIS进程的用户帐户需要具有相关网络位置的适当权限。使用的身份通常由其所在的应用程序池确定,或者如果您的应用程序使用模拟,则可能将其标识为客户端用户。无论哪种方式,您都应该小心,只授予应用程序绝对必需的权限,而不是更多。
答案 1 :(得分:0)
为池和网站设置后,管理员作为启动流程的帐户,并添加“@”和'\',我们设法访问网络文件夹(谢谢大家!),当前状态:DLL说它找不到它的路径......
因此,我们现在编写的代码具有访问权限,但DLL表示无法找到路径,因此我们联系了制作DLL的所有者。
答案 2 :(得分:-3)
对于存在的检查文件,您必须使用此:
if(!File.Exists("path"))
要检查文件夹存在,您必须使用此:
if (!Directory.Exists("Path"))