我有一个ASP.NET应用程序,它试图在运行时在Web服务器上写入文件。在我的开发环境中,这是有效的。但是,当我将其部署到生产服务器并执行代码时,我收到一条错误,指出:
"Access to the path 'C:\Inetpub\wwwroot\MyWebApp\DirToWriteTo\' is denied."
我的生产服务器是Window Server 2003计算机。 Web应用程序设置为允许通过IUSR_TEMPLATE帐户进行匿名访问。
我做错了什么?
谢谢!
答案 0 :(得分:2)
您需要向
您可以查看此链接: -
http://repeatgeek.com/technical/asp-net-access-to-path-is-denied/
答案 1 :(得分:1)
最可能的问题是您的匿名用户没有该位置的写入权限。
我要做的是为您要写入的位置创建一个web.config
条目,并将该配置密钥用作可写目录。如果需要,这将允许您为生产服务器和开发机器进行单独配置。
接下来,只需将配置中定义的目录的写访问权授予用户IUSER_TEMPLATE
,或者将Thorarin称为网络服务,在这种情况下,您应该设置身份模拟您的Web.config以便您可以指定用户(除非您通过应用程序池配置用户)。这应该可以解决问题。
答案 2 :(得分:1)
答案 3 :(得分:0)
就我而言,Visual Studio 2015将现有项目的IIS AppPool用户更改为默认的DefaultAppPool,这给了我权限错误,配置错误,角色提供程序错误和空引用错误。在发现这一点并将其更改回文件夹权限设置为的应用程序池后,事情又开始了。