使用VisualStudio開發網站專案時,讓IISExpress保持在背景運行並且不要關閉它

使用Visual Studio開發現代的網站專案,說真的如果電腦等級不夠還真的是會跑得氣喘吁吁,尤其進入ASP.MVC專案開發時代更有這種很無力的感覺,每次要按下那顆F5執行專案時,總會有一種很恐懼的感覺,深怕程式碼那裡想的不周全,又得重新建置(ReBuild)卡一次

接著就會有人說,幹嘛按下F5,你可以使用Ctrl + F5使用「啟動但不偵錯」來閃躲啊!話說的是沒錯,但你永遠都只有改View不改Contorller嗎?改了Controller還不是又要按下F6做一次建置方案的動作?有時候忘記重建方案按下Ctrl + F5,還要回來再Build一次,這種事也是常常發生的吧。說到底,來回之前你真的有計算過對比直接按下F5,這樣的動作省下多少時間嗎?

不管你信不信,依照我的經驗以及量測結果,我發現最耗費時間且幾乎都要施行的「F6 建置方案」,再分支去使用「F5」或「Ctrl + F5」,這中間的其實相差不到兩秒。既然相差不到兩秒,為何不像個男人直接按下F5對決呢?

那麼,最大的卡點在哪裡?

答案是IIS Express每次都要重新啟動,關閉又啟動的區間內,消耗了你的CPU時間。所以,現在的問題會變成,我要如何在瀏覽器關閉,或Visual Studio停止執行時,保持IIS Express持續在背景運行呢?

讓IIS Express保持在背景運行並且不要關閉它

Step 1. 打開方案總管。

Step 2. 專案(有一顆地球的那個ICON)>右鍵>屬性。

Step 3. 點選左側的「WEB」頁籤。

Step 4. 點選右側內容頁最下方的「啟用編輯後繼續」(Enable Edit and Continue)。

Step 5. 儲存專案,關掉Visual Studio後重開,解決。

整個設定完後再一次進入Visual Studio,你大膽的按下F5偵錯執行,發現:靠!還不是一樣慢?這時候請你放心,第一次要進行全站編譯+IIS Express啟動,當然會慢。

請按Shift + F5停止偵錯,理論上工作列上面顯示的IIS Express應該會被關掉,可是你會發現經過這樣的設定後,IIS Express仍然持續的留在工作列,且持續運行著。接下來就是見證奇蹟的時刻了,請大膽的再按下F5,你會發現瀏覽器秒開,你的MVC專案瞬間就顯示在你的眼前了。

就算你現在隨便去Controller放個中斷點,再度按下F5也是一樣快啊!簡單的說,必須要跑建置方案大家都要跑,去除掉IIS Express重新開啟的時間,Ctrl + F5這個動作相較於F5,意義上已經不大了(除非你的電腦真的很慢很慢)。當你專心在思考程式流程,心流(Flow)在正流暢的運行時,為何你還要停下來思考「我現在倒底要不要偵錯?」,然後再去選擇是要按下F6>Ctrl + F5?

我是選擇直接一顆F5按鈕來解決事情。

※註:我的VS版本為「Visual Studio 2015」。

KeepIISExpressRunning IISExpressBackgroundRunning EnableEditandContinue