我正在運行64位計算機。我的應用程序池被配置爲使用NETWORK SERVICE。當它運行在64位模式下時,我的應用程序運行良好。使用Enable32BitAppOnWin64的IIS權限問題
當以32位模式運行(應用程序池上的標誌Enable32BitAppOnWin64)時,我經常會遇到IIS無法訪問它的臨時文件夾的權限錯誤。如果我更改web.config中的tempDirectory,則問題會暫時解決。在我對應用程序進行另一次更改之後,它會經常返回。
實施例時tempDirectory = 「C:\ TEMP \ iistemp4」 訪問路徑 'C:\ TEMP \ iistemp4 \ tbmpos \ a93ceaf9 \ c953db72 \的ResX \ header.ascx.resources' 被拒絕。 ---> System.UnauthorizedAccessException:訪問路徑'c:\ temp \ iistemp4 \ tbmpos \ a93ceaf9 \ c953db72 \ ResX \ header.ascx.resources'被拒絕。
顯然,網絡服務可以訪問該文件夾,因爲它實際上創建了它。恢復到64位模式可解決此問題。
進程監視器顯示: 12:40:47.7314293 PM的w3wp.exe 6184的CreateFile C:\ TEMP \ iistemp4 \ tbmpos \ a93ceaf9 \ c953db72 \的ResX \ header.ascx.resources拒絕訪問所需的訪問:通用寫,讀屬性,處理:OpenIf,選項:同步IO非警報,非目錄文件,打開否調用,屬性:n/a,ShareMode:無,AllocationSize:0
這是我可以看到的唯一訪問在進程監視器中。
但是,如果我使用Windows資源管理器打開文件夾,我會在Information:Owner,DACL和Owner,Group,DACL上獲得一些'BUFFER OVERFLOW'。 IIS是否以不正確的權限創建文件?
任何想法?
我也有這些配置選項,以防萬一:batch =「false」optimizeCompilations =「true」 – 2011-04-26 16:54:21