我正在尝试向一个简单的web服务添加功能,该服务允许我将信息记录到应用程序所在的硬盘驱动器上的XML文件中。当我在应用程序的控制台版本中使用该功能时,数据将被记录到:
bin\x86\Debug MySolution.MyProject\MessageLog\TestMessagess.xml.
但是,当我试图在ASP.NET应用程序中从XML文件中写入或写入XML文件时,我得到了一个带有以下消息的System.UnauthorizedAccessException:
路径'MessageLog‘的Accees被拒绝。
我希望日志文件出现在应用程序目录的\bin文件夹中,那么在IIS中或服务器本身需要更改哪些设置才能允许应用程序从该文件夹中读取和写入该文件夹?
我的机器:我正在使用Windows SP3和ASP.NET 4.0。
发布于 2010-08-18 19:25:57
如前所述,您需要向IIS使用的用户授予读/写权限。
对于不超过6.0的IIS,标识名为网络服务。
对于IIS 7.0,将根据每个应用程序池授予权限。标识模板是IIS APPPOOL\%池-名称%。因此,如果您的站点使用MyApp应用程序池运行,则应授予IIS \MyApp用户标识的读/写访问权限。这是默认行为。还可以为应用程序池设置自定义标识(请参阅更多这里 )。
发布于 2010-08-18 19:26:01
尝试向Network Service用户授予适当的权限
发布于 2010-08-18 19:10:18
这是服务器的安全功能,而不是IIS的功能。在Windows资源管理器中,浏览到文件夹或文件,并设置安全性以允许IIS运行的用户具有访问权限。
https://stackoverflow.com/questions/3515733
复制相似问题