2008-10-29 113 views
7

我開始之前,我就知道使用IISRESET被認爲是不好的做法,但是這不應該發生反正..應用程序池沒有啓動IISRESET

我們有什麼:

  • 在Windows Server 2003 R2上使用IIS6的幾臺機器(64位和32位)

  • 幾個WCF Web服務(.NET運行時2.0)部署在幾個應用程序中,每個應用程序自己的應用程序池,每個應用程序池在其他Windows帳戶下運行。

會發生什麼:

  • 所有appPools啓動,運行的所有服務
  • IISRESET被執行(或機器重新啓動)
  • IIS回來了,但不是全部應用程序池正常啓動。有時候他們都回來了,有時候一個或者更多的游泳池不會啓動。但是可以手動啓動它們。

這是「正常」的iis行爲,應該避免使用iisreset,還是我們在.NET代碼中做錯了什麼?

回答

10

應用程序池應該在iisreset上重新啓動,但它們確實在iis之外(在COM +中)運行以提高可靠性。這意味着如果應用程序行爲異常,他們可能不會回來,但IIS和其他應用程序將(應該)回來。所以是的,這是「正常的」。

P.S. 我還想「自己」作爲自己 iisreset的用戶。不好的做法? Bah!; D

5

在第一個請求進來之前,IIS不會立即啓動ASP.NET工作進程(w3wp.exe)。當您說「未啓動」時,是否意味着您嘗試訪問某些WCF Web服務iisreset),並且你得到一個Service Unavailable錯誤,因爲appPool無法啓動?您是否看到事件日誌中的任何IIS W3SVC相關條目?

如果有的話,他們可能會爲你提供他們爲什麼無法啓動的線索;張貼在這裏。

+0

我得到一個「服務不可用」,並通過inetmgr池中的紅叉,我沒有機會看到事件日誌。 – thijs 2008-10-29 13:46:24

+0

這通常伴隨着事件日誌中的錯誤條目;去檢查他們。 – icelava 2008-10-30 03:46:19

0

在之前的支持角色中,我管理了幾臺運行各種.NET混亂的IIS服務器。當AppPool啓動失敗時,通常是一個錯誤的登錄憑證。

+0

池可以通過inetmgr手動啓動... – thijs 2008-10-29 13:47:18

3

原因:

IIS不會立即啓動ASP.NET工作進程(w3wp.exe的),直到第一個請求到來時它說:「沒有開始」意味着您試圖訪問一些WCF web服務(在iisreset之後)由於對象在內存中保留了一些空間而失敗,並且由於appPool無法啓動而出現Service Unavailable錯誤。

解決方法:

創建批處理文件與下面的命令&調度。

淨停止23svc

淨停止MSFTPSVC

淨停止SMTPSVC

淨停止PleskControlPanel

淨停止HTTPFilter

IISRESET /重新啓動

NET START W3SVC

NET START MSFTPSVC

NET START SMTPSVC

NET START PleskControlPanel

淨啓動HTTPFilter

3

只好similiar問題 - IIS已重新啓動後,默認應用被停止。

在應用程序事件日誌中發現的錯誤:

Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, or that your network is functioning correctly. If this problem persists, contact your network administrator.
DETAIL - Access is denied.

在默認應用高級設置選項負載用戶配置文件假設置固定。

希望它可以是有用的。

相關問題