[轉載]Access to the path '' is denied.解決方案

原文地址:Access to the path '' is denied.解決方案做者:趴着牆等紅杏html

ccess to the path '路徑' is denied.
我在網上找了不少資料,最後終於解決了,原來是由於在該文件的上級文件夾沒有修改權限,
也就是說,那個user用戶沒有修改的權限
Access <wbr>to <wbr>the <wbr>path <wbr>'' <wbr>is <wbr>denied.解決方案web

問題以下:
在windows 2003下安裝了VS2003,在運行web應用程序的時候出現一下錯誤:對路徑「D:\temp1\MyTest.txt」的訪問被拒絕。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中致使錯誤的出處的詳細信息。windows

異常詳細信息: System.UnauthorizedAccessException: 對路徑「D:\temp1\MyTest.txt」的訪問被拒絕。性能

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\網站

解決方案一url

在須要進行讀寫操做的目錄下添加Network Service這個賬號,
因爲在iis 6.0中,默認的應用程序池中的標示用的是Network Service,
因此在進程中是使用Network Service這個賬號運行來運行w3wp.exe進程,
而當咱們在運行VS 2003的時候須要對某一個目錄下進行讀寫操做,
看了一下該文件夾,發現沒有Network Service,添加上該帳號,同時選上FULL CONTROL,問題解決,htm

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\blog

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

###############################################################################get

什麼是應用程序池呢這是微軟的一個全新概念:應用程序池是將一個或多個應用程序連接到一個或多個工做進程集合的配置。由於應用程序池中的應用程序與其餘應用程序被工做進程邊界分隔,因此某個應用程序池中的應用程序不會受到其餘應用程序池中應用程序所產生的問題的影響。

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

  啓動IIS管理器,右擊網站,選擇「屬性」,打開屬性對話框(圖1)。在IIS 6.0工做進程隔離模式下,全部的應用程序代碼都在隔離環境中運行,它們是如何進行隔離的呢Windows 2003新增了應用程序池,工做進程隔離模式容許客戶建立多個應用程序池,每一個應用程序池均可以有不一樣的配置。由於這些應用程序池直接從內核(而非WWW服務)接收它們的請求,因此性能和可靠性獲得了加強。要隔離運行在同一臺計算機上但屬於不一樣網站的Web應用程序,須要爲每一個網站建立單獨的應用程序池。

建立應用程序池

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

指派應用程序池

  在 IIS 管理器中,右鍵單擊您要爲其指派應用程序池的應用程序,而後單擊「屬性」。 單擊「主目錄」選項卡,確認您正在指派的目錄或虛擬目錄的「應用程序名」是否已被填寫。若是「應用程序名」框還沒有被填寫,請單擊「建立」,而後輸入名稱。

  在「應用程序池」列表框中,選擇您想要爲其指派的應用程序池的名稱。最後單擊[肯定]。

相關文章
相關標籤/搜索