[英]Directory.Exists for network paths in ASP.NET
我正在尝试获得:
Directory.Exists(@"E:\subdirectory")
当E:是持久映射的网络驱动器时,从ASP.NET运行时返回“ true”。 我使用以下命令从用户上下文下运行的命令行将其映射,该命令行成功返回并且不提示输入凭据:
net use E: \\servername\sharename /persistent:yes
此时,我完全在本地运行。
当我从控制台应用程序或linqpad运行Directory.Exists行时,它返回true。 当我从在IIS( 不是 IIS express)下运行的ASP.NET应用程序运行此文件时,它返回false。
我将应用程序池更改为使用与本地运行相同的用户帐户。 我已经通过以下方式验证了此效果:
但是,我的ASP.NET应用程序在检查网络共享时仍然返回false。
为什么是这样?
映射的网络驱动器绑定到用户会话。 IIS在会话0中运行,映射的驱动器在最可能的会话1中运行。
我不知道在为会话创建网络驱动器时为其他会话显示网络的任何方法,我认为您无需使用E:\\
,而是使用\\\\servername\\sharename
作为路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.