IIS web.config拒絕訪問 未能開始監視對 XX 文件的更改


報錯:加載配置文件時出錯: 由於訪問被拒絕,未能開始監視對“c:\inetpub\wwwroot\employ”等類似的煩人東西。

分析:這個項目是放在根目錄下的,IIS配置沒有問題,別的文件都可以瀏覽,就這個文件夾下的頁面不能瀏覽,奇怪。回想這個原來是自己copy的一個文件,然后添加到項目中的。網上找到原因,是由於權限設置的問題,沒有把Users的權限設置到文件夾和文件上去。

還有就是IIS設置問題,在IIS中看一下是不是子目錄里創建了應用程序(或者做成了虛擬目錄),這種情況下是會在子目錄里查找web.config的.

補充:(轉)

錯誤描述:對路徑“****************.***”的訪問被拒絕。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

解決方案一

在需要進行讀寫操作的目錄下添加Network Service這個帳號(這個角色權限需要控制整個網站的目錄),
由於在iis 6.0中,默認的應用程序池中的標示用的是Network Service
所以在進程中是使用Network Service這個帳號運行來運行w3wp.exe進程,
而當我們在運行VS 2003的時候需要對某一個目錄下進行讀寫操作,
看了一下該文件夾,發現沒有Network Service,添加上該賬號,同時選上FULL CONTROL,問題解決,

另:log4net寫日志,文件夾的權限必須要有IIS_WPG賬號的寫權限。否則,不會記錄日志
******************************************************************************************

解決方案二
在IIS6.0中的默認應用程序池-->屬性-->標示中把Net Service改成Local System該問題也可以解決。

*******************************************************************************************

什么是應用程序池呢?這是微軟的一個全新概念:應用程序池是將一個或多個應用程序鏈接到一個或多個工作進程集合的配置。因為應用程序池中的應用程序與其他應用程序被工作進程邊界分隔,所以某個應用程序池中的應用程序不會受到其他應用程序池中應用程序所產生的問題的影響。

Windows 2003同時支持兩種工作模式,默認為ISS 6.0工作進程隔離模式。工作進程隔離模式防止一個應用程序或站點停止了而影響另一個應用程序或站點,大大增強了IIS的可靠性。那么如何設置兩種工作模式呢?

  在IIS管理器中,打開本地計算機,右鍵單擊“應用程序池”,選擇新建“應用程序池” (必須在工作進程隔離模式下才能建立應用程序池)。“應用程序池名稱”框中,輸入新的應用程序池名稱。如果在“應用程序池 ID”框中出現的 ID (如:AppPool #1)不是您想要的,可進行重命名。如果您單擊了“將現有應用程序池作為模板”,請在“應用程序池名稱”框中右鍵單擊想要用來作為模板的應用程序池。最后單擊[確定]。

指派應用程序池

  在 IIS 管理器中,右鍵單擊您要為其指派應用程序池的應用程序,然后單擊“屬性”。單擊“主目錄”選項卡,確認您正在指派的目錄或虛擬目錄的“應用程序名”是否已被填寫。如果“應用程序名”框尚未被填寫,請單擊“創建”,然后輸入名稱。

  在“應用程序池”列表框中,選擇您想要為其指派的應用程序池的名稱。最后單擊[確定]。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM