2009-08-06 33 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」的寫入權限,以查看是否解決了問題。如果授予「每個人」寫入訪問不起作用,它不是一個權限問題...