2011-09-18 30 views
0

我運行/ Visual Studio中調試一個asp.net MVC3應用2010Web應用程序在內存中徘徊,WebDev.WebServer40.EXE沒有被拆掉

,當我重新任何本質上是靜態不叫從Visual Studio中運行應用程序。

(甚至一些簡單的像Application_Start()

每次我想運行webapp的「正確」我需要殺死在任務管理器WebDev.WebServer40.EXE之前任何靜態被再次調用。

q1)這是正常的,如果是,爲什麼?
q2)如果不是,那麼我希望每次重新啓動調試會話時都會重新啓動ASP.NET Development Server。 我怎樣才能打開這個?

UPDATE: 重新編譯有時導致的Application_Start被調用,並非總是如此。

我使出調用的預生成一個批處理文件,如

kill_WebServer40.bat

包含

taskkill /F /IM WebDev.WebServer40.EXE 
exit 0 

如果你直接嵌入這兩個命令進入預生成textarea如果WebServer未運行,編譯將失敗。 This鏈接幫助解決該問題。

感到驚訝的是,在開發應用程序時,如果您有任何靜態數據/緩存,並且想要運行應用程序'clean',您會遇到此問題。

回答

2

是的,這是正常的。如果您觸摸web.config或重新編譯,它將重新啓動。停止調試後,開發服務器繼續在後臺運行應用程序。

右擊圖標並選擇停止,您可以停止任務欄中的開發服務器。

沒有辦法在每次點擊調試時強制重啓應用程序。這隻適用於調試應用程序啓動的邊緣情況。在調試之前點擊重建,它會產生所需的影響。

+0

既不觸摸web.config,也不重新編譯會導致Web服務器重新啓動。 (一致地) – wal

+0

這兩者中的任何一個都會導致您的應用程序重新啓動,(而不是服務器)以及您的Aplication_Start中斷點應該被擊中。通過重新編譯我的意思是重建,而不是構建。 – TheCodeKing