2

我正在使用平面文件侦听器。

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

但是,在同一台机器上的本地 IIS 中托管它时没有写入任何内容。

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

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

让我知道出了什么问题。

4

3 回答 3

2

这听起来确实像是权限问题。如果您在进程外运行应用程序,则该进程将是 aspnet_wp.exe,并且它运行的帐户将是 MACHINENAME\ASPNET。

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

如果这不起作用并且您仍然需要进行故障排除,请从 sysinternals 下载Process Monitor以查看是否有任何 ACCESS DENIED 消息。虽然有点旧并且使用的是旧工具 Filemon(由 Process Monitor 取代),但这篇知识库文章介绍了故障排除步骤和要查找的内容。

于 2009-08-06T06:12:39.503 回答
0

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

于 2009-08-06T03:47:12.900 回答
0

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

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

在尝试将其缩小到特定帐户之前,您始终可以尝试为 c:\temp 授予“所有人”的写入权限,以查看是否可以解决问题。如果授予“所有人”写入权限不起作用,则不是权限问题...

于 2009-08-06T04:41:03.900 回答