ASP.NET +访问路径被拒绝
问题描述:
我有一个ASP.NET应用程序,它尝试在运行时在Web服务器上写入文件。在我的开发环境中,这是有效的。然而,当我把它部署到生产服务器,我执行的代码,我收到一条错误:ASP.NET +访问路径被拒绝
"Access to the path 'C:\Inetpub\wwwroot\MyWebApp\DirToWriteTo\' is denied."
我的生产服务器是一个Window Server 2003的计算机。 Web应用程序设置为允许通过IUSR_TEMPLATE帐户进行匿名访问。
我在做什么错?
谢谢!
答
最可能的问题是您的匿名用户不具有对该位置的写入权限。
我会做的是创建一个web.config
条目,您想要写入的位置并使用该配置键作为您的可写目录。如果需要,这将允许您为生产服务器和开发机器分别进行配置。
接下来,只是给在配置中定义的用户IUSER_TEMPLATE
目录写权限,或作为Thorarin的网络服务,在这种情况下,你应该建立身份模拟在你的web.config说这样就可以了指定用户(除非您通过应用程序池配置用户)。这应该解决问题。
答
在我的情况下,Visual Studio 2015年改变现有项目的IIS AppPool用户默认为DefaultAppPool,它给了我权限错误,配置错误,角色提供者错误和空引用错误。发现这个并将其更改回到文件夹权限设置为的应用程序池后,事情又开始工作。
仅当`Web.config`在其``部分有一个`时。否则,将使用为应用程序池设置的标识。默认情况下,这是*网络服务*(其访问非常有限) –
Thorarin
2009-08-02 18:35:11