2009-08-10 107 views
1

在Visual Web Developer速成2008年:調試本地IIS和自定義Web服務器有什麼區別?

我想知道與調試的區別:

使用本地IIS Web服務器

使用自定義Web服務器

我在Windows Vista上使用IIS7,唯一的區別是我注意到你需要本地IIS的IIS6兼容性組件,更重要的是,

本地IIS調試總是觸發一個構建,因爲自定義Web服務器不會觸發一個構建,它允許您在沒有調試的情況下啓動您的網站,這會產生您想要調試的情況(這可能需要很長時間如果您的網站需要大量時間從memcache中獲取內容,則在啓動時進行數據庫搜索等)。然後用自定義的網絡服務器,我可以只調試網站,並拿起我已經創建的情況...

所以我想知道,爲什麼有人會使用本地IIS通過自定義的網絡服務器。

它必須有一定的優勢,否則就不會在那裏......

日Thnx夏侯

回答

0

,你會與本地IIS中得到的好處包括:

  • 環境將更接近您的部署環境
  • 如果您正在使用其他ISAPI篩選器或處理程序,則需要IIS託管才能獲得它們
+0

我儘可能地將IIS運行到部署環境,所以這對我來說不是一個好處。 在IIS7中,我們可以在web.config中配置我們需要的所有東西,在使用定製Web服務器時這些東西不可用? – Jaap 2009-08-10 22:09:08

+0

但是,如果您正在使用自定義的網絡服務器進行調試,那麼您沒有使用IIS,對吧?因此,更接近您的部署設置是設置調試器使用IIS而不是定製服務器的優勢。 – 2009-08-10 22:11:12

+0

嗨邁克爾, 這正是我問的問題。我在Vista上使用IIS7作爲我的自定義網絡服務器,因爲我發現當我開始調試時,只有在需要時才構建Web應用程序。我發現使用本地IIS選項* always *調試Web應用程序會觸發構建,從而重新啓動站點... – Jaap 2009-08-13 19:38:41

1

另一個缺點是,當你在同一個解決方案的多個版本上工作時(例如,你在不同的目錄中有不同的分支來修復bug和新的功能),那麼你有一個問題,一個解決方案版本創建虛擬目錄並將它映射到你的項目輸出;當您打開另一個解決方案時,它會嘗試執行相同的操作,但由於虛擬目錄已經映射,因此會失敗。您必須在加載第二個解決方案之前刪除原始虛擬目錄 - 當您必須在不同版本之間切換時會很痛苦。

我可以考慮解決此問題(除使用自定義Web服務器之外)的唯一方法是將工作空間重定位到不同的分支並進行同步。儘管我只知道PureCM可以做到這一點(我確信更多的SCM系統能夠做到),但TFS源代碼控制(來自微軟,你不是在愚弄任何人,它仍然只是一件衣服的SourceSafe)這種可怕的東西我在工作中不能堅持。

相關問題