2012-09-06 149 views
1

我有一個運行在IIS6 32bit物理Windows Server 2003框上的.net 4.0網站就好了。我們已經遷移到使用IIS7運行Windows Server 2008 32位的新虛擬服務器。應用程序池以經典模式運行。iis7應用程序池掛

由於此舉,我隨意得到應用程序掛起的情況。請求隊列火箭,然後我得到503錯誤。如果應用程序池被回收,則錯誤會消失,直到下一次發生。

事件日誌中沒有與此相關的條目,只是它記錄了應用程序池在回收過程中需要很長時間才能關閉的事件。我在我的.net應用程序中報告了記錄到數據庫並向我發送錯誤,但是當這個應用程序掛起時它沒有發送任何內容。

可以使用哪些工具來診斷問題並找出造成問題的原因?

回答

0

我們認爲,無論應用程序的結構如何,如果您確信沒有錯誤,在應用程序池上更改排序屬性可能會解決問題。

首先在應用程序池的「高級設置...」菜單中將「啓用32位應用程序」更改爲相關值。如果用於構建應用程序的平臺是x86,則值應該爲「True」。

其次,如果您的應用程序要求訪問磁盤資源,您還應該在'Identity'屬性中運行應用程序池的相關安全上下文。身份應該訪問您的應用程序想要更改或列出的所有目錄。

做完所有事情後,如果問題存在,您應該讓我知道您的應用程序的平臺。它是.NET還是ISAPI?

乾杯

+0

謝謝,我會做這個,現在我 –

+0

檢查和權限似乎是正確的。它只需要訪問臨時文件夾和網絡共享。它有權訪問網絡共享,並且它是可以訪問臨時文件夾的IIS_Users的成員。 我想知道,如果它是一些com組件不能在Server 2008上工作,但在Server2003上。 我不能做你建議的其他設置更改,因爲該機器是32位,所以不提供我這些選項 –

+0

如果你的應用程序使用ASP.NET,我建議評論所有的Application_Start事物並重新發布。如果它的工作意味着這個事件可能是錯誤的。正如我所說的,COM訪問需要相關的標識。您可以臨時將Identity屬性設置爲LocalSystem並檢查應用程序啓動。如果它啓動,你必須有一些安全問題。 – Rikki