使用IIS Express进行调试并访问root以上的文件

时间:2012-03-14 23:15:02

标签: asp.net visual-studio debugging iis-express

我正在使用Visual Studio开发一个ASP.Net项目,该项目托管在本地IIS服务器上。整个站点相当复杂,由多个应用程序组成,因此我使用的解决方案/项目只包含其子目录中的当前项目。

我的应用程序需要访问其子目录之外的文件,我想使用Server.MapPath从实际网站的根目录进行访问,并且仍然能够在IIS Express中进行调试。

我似乎无法在IIS Express的子目录中设置或创建适当的应用程序设置,允许root访问(项目文件夹上方的三个文件夹)。

示例:我的应用程序位于/ Apps / App1中,我在/ Data / Data1中访问了数据,但我在/ Apps / App1中设置了VS解决方案。在真实的Web服务器上,Server.MapPath(“/ Data / Data1 / file”)工作正常,但在IIS Express中没有,因为/相对于/ Apps / App1。

1 个答案:

答案 0 :(得分:1)

默认情况下,ASP.NET运行的帐户无权访问其虚拟目录之外的文件。您需要使用具有更高优势的帐户来模仿您的部分代码。或者在web.config中设置impersnation(这有点冒险) 以下是一些解释这些内容的文章

ASP.NET - Reading and writing to the file-system, outside the application

http://www.west-wind.com/weblog/posts/2005/Feb/24/Using-programmatic-Impersonation-from-an-ASPNET-Page