2009-08-06 86 views
2

我正在使用平面文件监听器。记录不写入IIS

在Visual Studio的Web开发服务器中运行时,它会在“c:\ temp \ log.txt”中登录。

但是当我在同一台机器上的本地IIS中托管它时,没有任何东西被写入。

我已经在IIS中授予匿名身份验证。

我正在使用Visual Studio 2008,IIS 5.1和EntLib 4.1。

让我知道出了什么问题。

回答

2

它肯定听起来像权限问题。如果您将应用程序从进程中移出,则该进程将为aspnet_wp.exe,并且其所运行的帐户将为MACHINENAME \ ASPNET。

您应验证ASPNET帐户对c:\ temp文件夹具有写入权限。如果不是,则授予ASPNET帐户写入权限。

如果这不起作用,您仍然需要排除故障,请从sysinternals下载Process Monitor以查看是否有任何ACCESS DENIED消息。虽然有点旧,并且使用旧版工具Filemon(Process Monitor取代了该工具),但this KB article还是经历了故障排除步骤以及要查找的内容。

+0

谢谢Tuzo!问题解决了。正如你所说,这是许可问题。 – user146584 2009-08-06 11:26:55

+1

伙计 - 它几乎总是一个权限的东西。 – 2011-03-31 13:00:19

0

工作进程是否可以在c:\ temp中写入?我已经使用IIS 5已经有一段时间了,所以我不确定工作进程在哪个帐户下运行,但是您应该检查它是否有权写入c:\ temp。

+0

我该如何检查? – user146584 2009-08-06 03:57:52

0

调出c:\ temp文件夹的属性对话框,并确保帐户IIS正在运行,对文件夹(及其子文件)具有写入权限。这只是标准的Windows安全。

要检查IIS正在使用哪个帐户,应在IIS管理控制台中设置一个设置。默认帐户以“IUSR_”开头。

在尝试将其缩小到特定帐户之前,您总是可以尝试给c:\ temp写入“Everyone”的写入权限,以查看是否解决了问题。如果授予“每个人”写入访问不起作用,它不是一个权限问题...