本文可協助您解決 Web 應用程式將數據寫入 ASP.NET App_Data資料夾時發生錯誤的問題。
原始產品版本:網際網路資訊服務 7.5 和更新版本
原始 KB 編號: 2005172
徵兆
Web 應用程式是使用 Microsoft Visual Studio 建立,然後發行至 網際網路資訊服務 (IIS) 7.5 或更新版本。 作為應用程式要求處理的一部分,它必須將數據 寫入伺服器上App_Data 資料夾。 例如,應用程式會使用 SQLDataSource 或 XMLDataSource。 嘗試這樣做時,會顯示類似下列的錯誤訊息:
例外狀況詳細數據:System.UnauthorizedAccessException:拒絕存取路徑 [路徑App_Data資料夾]。
原因
從 IIS 7.5 和更新版本開始,應用程式集區的預設身分識別是 ApplicationPoolIdentity。 使用 Visual Studio 建立 Web 應用程式時,App_Data資料夾不會自動設定為允許 ApplicationPoolIdentity 的寫入存取權。 因此,嘗試寫入 App_Data 資料夾將會失敗。
解決方法
若要解決此問題,請將讀取和寫入 ACL 許可權授與App_Data資料夾上的 ApplicationPoolIdentity (IIS APPPOOL\ApplicationPool)。
其他相關資訊
ApplicationPoolIdentity 是受控服務帳戶,這是 Windows Server 2008 R2 中引進的新概念。 如需受控服務帳戶的詳細資訊,請參閱 服務帳戶的新功能