我在這裏有點困惑。在IIS 5.0中,所有ASP.NET應用程序都在相同的工作進程(aspnet_wp.exe)內運行。各種應用程序由appdomain隔離。我相信一個appdomain的基本功能是在一個進程中提供應用程序隔離。現在到IIS 6.0。我已閱讀了有關IIS 6中的應用程序池的信息。許多站點都表示,在IIS 5.0中,當應用程序出現問題時,它會影響其他應用程序。但是,這不是由appdomains保護?我被告知IIS 6.0中的應用程序池可以防止這種意外。我在這裏有點困惑,應用程序池在IIS 5.0上提供的優勢究竟是什麼。我也被告知,在IIS 6工作進程隔離模式下,配置不同的應用程序池(從而不同的工作進程)是一個需要做的事情。但是,產生新的進程會增加內存的利用率,它如何被稱爲是一種表現事物的方式? HTTP.SYS如何知道將請求路由到相關的應用程序poool?IIS 5.0 - AppDomain
回答
不要讓應用程序池和AppDomains混淆。 AppDomain是進程內的隔離邊界。它們旨在隔離和提供正在執行的託管代碼的安全性。
應用程序池是IIS的一項功能,允許池處理多個站點的請求。他們通過在工作進程中運行多個AppDomain
實例(aspnet_wp.exe或w3wp.exe)來處理此問題。雖然從技術上講,您可以在每個站點上運行多個AppDomain
實例,但通常每個IIS應用程序只有一個AppDomain
。
如果您在單個應用程序池中有多個站點(並且共享這些工作進程),如果其中一個站點開始佔用大量資源,則這可以直接影響運行在同一應用程序池中的其他站點。
通過對邏輯組(應用程序池)中的站點進行分組(分隔),您可以更好地管理站點的行爲方式。
HTTP.SYS是一個內核模式驅動程序堆棧,它是Windows子系統的一部分。它提供內核模式下HTTP協議的管理(IIS6之前的版本在用戶模式下使用winsock)。通過在內核級別運行HTTP.SYS,如果工作進程失敗,請求可以排隊,然後轉發到將要啓動的新工作進程。
當您在IIS6中創建站點時,它會使用HTTP.SYS註冊該站點,然後可以將請求發送到相應的輔助進程。
該AppDomain是關於共享數據 http://msdn.microsoft.com/en-us/library/system.appdomain.aspx 而在IIS 6中,您可以將多個應用程序附加到應用程序池。如果在同一應用程序池中有兩個應用程序,並且其中一個應用程序不斷崩潰,則會影響另一個應用程序,IIS會因爲不穩定而決定關閉整個應用程序池。
因此,如果您有關鍵的應用程序,建議將它們保留在它們自己的應用程序池中。如果您在IIS多個應用程序,你的路線與hostheaders(或額外的外部IIP地址)的請求
是建議各生產網站的應用程序池的額外資源:http://forums.iis.net/t/1151476.aspx
一個很好的資源,其解釋的區別介於5.0和6.0之間,具有隔離性: http://www.tech-faq.com/understanding-iis-5-and-iis-6.html
- 1. IIS AppDomain中實例化
- 2. IIS中是否需要AppDomain?
- 3. IIS 5.0中的清潔url
- 4. 在Azure環境中卸載IIS AppDomain
- 5. 不被IIS加載到AppDomain中
- 6. IIS 7.x - 別名創建重新啓動AppDomain
- 7. 在AppDomain中創建與AppDomain相同的新AppDomain調用方法
- 8. AppDomain UnhandledException
- 9. .NET AppDomain混淆
- 10. 使用的AppDomain
- 11. AppDomain和線程
- 12. AppDomain隔離
- 13. appdomain C++ c#
- 14. 使用的AppDomain
- 15. AppDomain卸載
- 16. 卸載AppDomain
- 17. 如何在IIS 5.0中部署php網站?
- 18. Windows機器上的MySQL-SSL配置(openSSl,Mysql 5.1,IIS 5.0)
- 19. 使用IIS 5.0或6.0的Windows Azure雲計算應用程序
- 20. 通過HTTPS在IE 5.5/IIS 5.0上下載文件
- 21. 發佈WCF RIA域服務IIS 7.0和Silverlight 5.0
- 22. 如何使用PowerShell在IIS 5.0中創建應用程序?
- 23. 在IIS 5.0上部署時鏈接無法正常工作
- 24. 本地網站基本iis 5.0 xml解析錯誤
- 25. 運行IIS 5.0的webserver如何處理多個dbserver連接?
- 26. IIS 5.0從ASP腳本調用COM +對象
- 27. Java AppDomain喜歡抽象嗎?
- 28. 防止WCF服務的AppDomain被卸載
- 29. 如何在刪除子目錄時防止AppDomain在IIS 7.0中回收?
- 30. 檢測AppDomain重啓
感謝您的解釋 –