2008-11-12 133 views
3

我有幾個IIS6/Server 2003框上運行的Web應用程序。他們運行良好,很高興。他們都是asp.net網絡應用程序並使用.NET 3.5。爲什麼要從IIS6遷移到IIS7?

什麼,如果有的話,是考慮將Web應用程序遷移到IIS7/Server 2008的正當理由?

回答

7

IIS7從頭開始改寫爲「可插拔」的概念。 IIS7比以前更具可擴展性。整個請求管道已經過重新設計,以便您可以更輕鬆地處理請求。

從性能方面來說,這些更改立即可以識別。您可以在「經典」應用程序池中運行鍼對IIS6開發的網站,以保持兼容性,但會顯着提升性能。在迄今爲止我們所做的非科學評估中,我們的遺留應用程序看到我們的IIS7測試機器的加載時間減少了大約20%。

當然,我們必須以「經典」模式運行的原因是有趣的一面。在global.asax裏面,有一些觸發HttpContext的應用程序啓動預取。具體來說,有預緩存完成,IIS7不允許。因此,在我們可以從「經典」模式切換之前,我們必須做出一些改變。

3
  1. 最終,微軟將終止對Server 2003的支持。誠然,這不會持續數年,所以它不會影響你今天。
  2. 改進了對ASP.NET MVC的支持。這對我們大多數人來說可能是最大的一個。你可以得到ASP.NET MVC在IIS6上工作,但有some hoops to jump through

我給你更多,但我自己還沒有在Server 2008上,沒有別的可以給。據推測Vista(我在工作和家中都使用)具有與2008相同的「相同」IIS7 - 界面看起來非常相似 - 但我不認爲我的經驗對您的問題有用。

2

能夠在管理的語言中編寫管道組件。以前,如果您想編寫ISAPI篩選器來處理某種類型的Web請求,則必須使用C++編寫它。現在,您可以使用良好的'.NET代碼。這允許更多的定製能力來編寫可重用的流水線組件來處理各種類型的請求。例如,所有的.js文件請求都被路由到一個ScriptCompressor管道組件,該管道組件可以設置大量的緩存功能來壓縮並返回它們。

對MVC的改進支持鏈接到這,你可以設置II7將請求路由沒有擴展到.NET所以你可以有網址,這是「乾淨」的,如http://www.yourwebsite.com/customer/1,而無需任何可見的擴展,它揭示了什麼類型的服務器你正在使用的技術,現在非常不可思議。

相關問題