2008-10-14 78 views
7

我試圖在XP機器上運行ASP.NET 2.0應用程序。據我所知,一切都配置正確。不過,我收到以下消息:爲什麼ASP.NET由於GAC權限而失敗?

Server Application Unavailable

而且兩個事件出現在應用程序事件每次登錄:

aspnet_wp.exe (PID: 3352) stopped unexpectedly.

Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80070005 Access is denied.

此前,ASP.NET應用程序在本機上正常工作。

我試過下面的步驟,沒有運氣:

  • 我的站點主目錄授予讀取權限ASPNET帳戶
  • 我已重新安裝ASP.NET 2.0中使用ASPNET_REGIIS -i
  • 我授予權限ASPNET使用ASPNET_REGIIS -ga <我的機器名>帳戶\ ASPNET
  • 我已授權的讀取權限GAC到ASPNET帳戶使用CACLS%WINDIR%\組裝/ E/t/p <我的機器名> \ ASPNET,R
  • 我IIS

內設置的ASP.NET版本的網站,以2.0我不知道還有什麼我可以做!


使用進程監視器直接導致我的問題。非常感謝Mun的小費。

這是一個相當晦澀的問題:我以前使用程序集綁定日誌查看器(fuslogvw.exe)並將其設置爲使用自定義路徑選項將所有綁定記錄到磁盤。但是,ASPNET帳戶沒有該自定義路徑的權限。因此,恢復使用默認路徑可解決問題。授予對ASPNET帳戶的自定義路徑的讀/寫權限也是可行的,正如禁用綁定日誌記錄一樣。

回答

2

您也可能會發現Process Monitor有用解決這些類型的問題。如果您設置了一個過濾器來顯示包含aspnet_wp.exe的所有活動,它應該顯示它嘗試訪問哪些文件,從而允許您相應地更新權限。

0

我們曾經對ASP.NET有這個問題,因爲當Visual Studio創建程序集的臨時副本時,索引服務會開始掃描它們的病毒,並且這偶爾會導致「訪問被拒絕」消息,因爲調試器會試圖打開一個共享文件。告訴索引服務不索引臨時程序集目錄解決了問題。

1

我知道現在回答這個問題爲時已晚。今天我也有這個問題。我跑了下面的命令提示符,它解決了這一問題

aspnet_regiis -ga machinename\ASPNET 
0

這解決了這個問題對我來說,想我會分享:

如果這是IIS 5.1(基本上,IIS的古代版本)右鍵單擊您的虛擬目錄(來自inetmgr)並轉到「所有任務」>「權限嚮導」 選擇「從模板中選擇新的安全設置」選項,然後選擇公共網站。

相關問題