五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > ASP.NET對路徑"xxxxx"的訪問被拒絕的解決方法

ASP.NET對路徑"xxxxx"的訪問被拒絕的解決方法

文章來源:365jz.com     點擊數(shù):1267    更新時間:2017-08-17 08:54   參與評論

“/”應(yīng)用程序中的服務(wù)器錯誤。
--------------------------------------------------------------------------------

對路徑“c:/inetpub/wwwroot/img/3.jpg”的訪問被拒絕。 
說明: 執(zhí)行當(dāng)前 Web 請求期間,出現(xiàn)未處理的異常。請檢查堆棧跟蹤信息,以了解有關(guān)該錯誤以及代碼中導(dǎo)致錯誤的出處的詳細(xì)信息。

異常詳細(xì)信息: System.UnauthorizedAccessException: 對路徑“c:/inetpub/wwwroot/img/3.jpg”的訪問被拒絕。

ASP.NET 未被授權(quán)訪問所請求的資源。請考慮授予 ASP.net 請求標(biāo)識訪問此資源的權(quán)限。ASP.Net 有一個在應(yīng)用程序沒有模擬時使用的基進(jìn)程標(biāo)識(通常,在 IIS 5 上為 {MACHINE}/ASPNET,在 IIS 6 上為網(wǎng)絡(luò)服務(wù))。如果應(yīng)用程序正在通過 <identity impersonate="true"/> 模擬,則標(biāo)識將為匿名用戶(通常為 IUSR_MACHINENAME)或經(jīng)過身份驗證的請求用戶。

要將 ASP.NET 訪問權(quán)限授予某個文件,請在資源管理器中右擊該文件,選擇“屬性”,然后選擇“安全”選項卡。單擊“添加”添加適當(dāng)?shù)挠脩艋蚪M。突出顯示 ASP.NET 帳戶,選中所需訪問權(quán)限對應(yīng)的框。

源錯誤:


行 55:             //將文件拷貝到指定路徑下
行 56:                   
行 57:             File.Copy(imgPath, imgNewPath, true);
行 58:             
行 59:             //調(diào)用自定義方法將視頻的id保存到指定文件中


 源文件: c:/Inetpub/wwwroot/manage/manage_amendLoopAd.aspx.cs    行: 57

堆棧跟蹤: 
[UnauthorizedAccessException: 對路徑“c:/inetpub/wwwroot/img/3.jpg”的訪問被拒絕。]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +2013859
   System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) +488
   System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite) +10
   manage_amendLoopAd.gvImg_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e) in c:/Inetpub/wwwroot/manage/manage_amendLoopAd.aspx.cs:57
   System.Web.UI.WebControls.GridView.OnSelectedIndexChanging(GridViewSelectEventArgs e) +105
   System.Web.UI.WebControls.GridView.HandleSelect(Int32 rowIndex) +40
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +221
   System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +199
   System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102

--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42

 

————————————————————————————————————————————

————————————————————————————————————————————

總結(jié):

下午在搞一個程序的時候報出了上面的錯誤,以前沒遇到過,看起來像是權(quán)限的問題,于是我把如下文件夾的權(quán)限做了修改,錯誤就沒了。
img屬性—安全—IIS_WPG(*******)     ——     修改了該用戶的權(quán)限就沒問題了。


解決方案一

在需要進(jìn)行讀寫操作的目錄下添加Network Service這個帳號,由于在iis 6.0中,默認(rèn)的應(yīng)用程序池中的標(biāo)示用的是Network Service,所以在進(jìn)程中是使用Network Service這個帳號運行來運行w3wp.exe進(jìn)程,而當(dāng)我們在運行VS 2003的時候需要對某一個目錄下進(jìn)行讀寫操作,看了一下該文件夾,發(fā)現(xiàn)沒有Network Service,添加上該賬號,同時選上FULL CONTROL,問題解決。
    具體過程:對該文件夾按右鍵--屬性--安全--添加--高級--立即查找--在“搜索結(jié)果”下選“NETWORK SERVICE”--確定--確定--確定

解決方案二

在IIS6.0中的默認(rèn)應(yīng)用程序池-->屬性-->標(biāo)示中把Net Service改成Local System該問題也可以解決。

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

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

  啟動IIS管理器,右擊網(wǎng)站,選擇“屬性”,打開屬性對話框(圖1)。在IIS 6.0工作進(jìn)程隔離模式下,所有的應(yīng)用程序代碼都在隔離環(huán)境中運行,它們是如何進(jìn)行隔離的呢?Windows 2003新增了應(yīng)用程序池,工作進(jìn)程隔離模式允許客戶創(chuàng)建多個應(yīng)用程序池,每個應(yīng)用程序池都可以有不同的配置。因為這些應(yīng)用程序池直接從內(nèi)核(而非WWW服務(wù))接收它們的請求,所以性能和可靠性得到了增強(qiáng)。要隔離運行在同一臺計算機(jī)上但屬于不同網(wǎng)站的Web應(yīng)用程序,需要為每個網(wǎng)站創(chuàng)建單獨的應(yīng)用程序池。

創(chuàng)建應(yīng)用程序池

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

指派應(yīng)用程序池

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

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

在網(wǎng)上查詢了很多信息,有下列幾種解決方案:

1.可能是安裝出了問題,重新安裝 執(zhí)行命令,aspnet_regiis -i ,記得要生啟啊
2.提升everyone的權(quán)限到可修改
3.提升aspnet權(quán)限:控制面板-管理工具-計算機(jī)管理-本地用戶和組 找到ASPNET 隸屬于里面加上Administrators
4.將iis虛擬目錄刪掉后重新建
5.在web.config文件中加入<identity impersonate="true"/>
6. 若要授予 ASP.NET 對文件的寫訪問權(quán),請在資源管理器中右擊該文件,選擇“屬性”,然后選擇“安全”選項卡。單擊“添加”添加適當(dāng)?shù)挠脩艋蚪M。突出顯示 ASP.NET 帳戶,選中所需訪問權(quán)限對應(yīng)的框。

everyone加寫入權(quán)限
7.用xml文件保存系統(tǒng)選項設(shè)置,用asp.net寫入,調(diào)試運行(ctrl+F5)正常。站點配置后運行報錯:“對路徑xxx.xml的訪問被拒絕”。資源管理器->工具->文件夾選項->查看 不選"使用簡單文件共享",右擊xml文件,選"屬性"點"安全"添加"aspnet",選"完全控制",即可。

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答??! 點擊進(jìn)入論壇

您可能感興趣的文章:

發(fā)表評論 (1267人查看0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號