[英]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.