2014-09-26 104 views
2

我有一個問題,那就是當我在我的web服務器上部署我的asp.net 4.0應用程序時,我無法寫入App_Data文件夾。其實它有一個XML文件,我正在試圖寫入一些信息。我收到以下錯誤。ASP.NET訪問被拒絕的路徑,在Web服務器上

Access to the path 'C:\HostingSpaces\hosterind\mydomain.com\wwwroot\App_Data\ErrorLog.xml' is denied. 

我試圖尋找每個角落的可能解決方案之前張貼在stackoverflow但我無法解決此問題。在互聯網上搜索類似的問題(也是stackoverflow)我得出結論,我需要通過IIS處理它,因爲它在互聯網上被引用來通過IIS管理器授予對App_Data文件夾的權限。由於訪問您的虛擬主機服務器的IIS管理器是不可能的,我認爲人們指的是我的本地IIS服務器。所以,我從位置:C:\ Users \ DanComputer \ Documents \ Visual Studio 2010 \ WebSites \ MyWebProject複製了我在Visual Studio中開發的項目,並將其粘貼到C:\ inetpub \ wwwroot中。然後,我通過選擇DefaultAppPool作爲應用程序池來找到我的項目在IIS管理器中。我更改了我的App_Data文件夾權限,以允許完全控制IIS_IUSRS(DanComputer \ IISUSRS)。然後我複製我的App_Data文件夾到我的虛擬主機空間使用FTP軟件,但它並沒有解決我的問題。我嘗試了許多事情,甚至改變了允許所有人完全控制的權限,但它沒有工作,我仍然得到相同的錯誤。請幫忙嗎?

+0

您有權訪問服務器以運行控制檯命令嗎? – Dalorzo 2014-09-26 17:03:21

+0

我從來沒有問過我的託管公司。實際上這是我開發的第一個應用程序,現在正在出現問題。我沒有太多有關IIS和相關內容的知識。我怎麼知道我的服務器是否允許運行一個控制檯命令?我不確定託管公司可以允許這樣做,但仍然歡迎如果你有解決我的問題的一些想法 – 2014-09-26 17:06:50

回答

2

您需要知道什麼是您的應用程序的應用程序池的身份。您可以從IIS或控制檯獲取此信息。您的hosing公司可能有一個控制面板可以提供這些信息。

enter image description here

然後,你需要給權限的應用程序池標識帳戶的名稱將是相同的,或至少是非常相似的,你在IIS中所看到的:

enter image description here

因此,使用我上面的示例,我將不得不爲本地服務或網絡服務授予讀/寫我的app_data文件夾的權限。

+0

你能告訴我接下來我應該知道我的託管公司applicayio池後做什麼? – 2014-09-26 17:21:04

+0

謝謝,聽起來合乎邏輯。我做了一封電子郵件給我的託管公司,讓我知道他們的IIS默認應用程序池。希望這會解決我的問題 – 2014-09-26 17:35:15