我正在尝试开发一个asp应用程序(我的asp解决方案在c:\ inetpub中)。我需要一个记录器。 所以我在我的解决方案中创建了一个文件夹Logs,我尝试在那里保存一个* .log文件:
using (FileStream fs = File.Create(logPath))
{...}
// logpath = Server.MapPath(@"~\Logs") + Path.DirectorySeparatorChar + logName
// so: logpath = C:\\inetpub\\wwwroot\\MyApplication\\Logs\\MyLog.log
我收到错误:
Access to the path 'C:\inetpub\wwwroot\MyApplication\Logs\MyLog.log' is denied.
有解决方案吗?我需要安装程序才能提供对inetpub的访问... 我也问这是否是创建日志的错误方法?也许存在一种用于此的模式......? 谢谢
答案 0 :(得分:1)
确保inetpub目录允许对内置IUSR
帐户的读/写权限。
答案 1 :(得分:1)
您需要向asp.net用户授予写入权限。通常是Network Service
或IUSR
。
如果您运行的是IIS7,请务必检查应用程序池的高级Identity
下的settings
。
有关详细信息,请查看以下内容:Application Pool Identities