更正如下:有问题的代码不是IIS 7应用程序(无应用程序池)的一部分。
我有一个IIS虚拟目录,其中包含一个带有以下代码的aspx页面:
System.Net.WebRequest wr = System.Net.WebRequest.Create( @"file://unc-share/directory/file.pdf" ); wr.Credentials = System.Net.CredentialCache.DefaultCredentials; WebResponse response = wr.GetResponse();
当调用GetResponse()时,我得到一个“访问path\\ unc-share \ directory \ file.pdf”被拒绝。 错误。
我已经为集成Windows身份validationconfiguration了应用程序(所有其他身份validationtypes都被禁用),ASP.NET模拟已启用。
我已经能够validationASP.NET模拟是否使用与用于访问该站点的Windows域帐户相同的标识。 文件所在的UNC共享位置是一个独立的Windows系统,它不托pipe一个Web服务器,对于同一个帐户设置了“完全控制”权限。
我也尝试使用FileStream实例访问文件,结果相同。
在这个网站上和其他人一直在这个问题上挖掘,但还没有find任何build议,我想要做什么,也没有解决问题。
有任何想法吗?
像这样访问路径:
System.IO.File.ReadAllText(@"\\uncshare\directory\file.pdf");
这段代码的重要部分是路径的格式化和WebRequest的缺失。 有几种方法可以用来打开文件。 我使用File.ReadAllText
作为示例,但您可以使用FileStream轻松打开文件。
不应该需要使用WebRequest,因为该文件不在Web服务器后面。