webapp在内存中徘徊,WebDev.WebServer40.EXE没有被拆除

时间:2011-09-18 09:07:45

标签: asp.net visual-studio-2010 asp.net-mvc-3

我正在Visual Studio 2010中运行/调试asp.net mvc3应用程序。

当我从Visual Studio中重新运行应用程序时,不会调用任何静态的东西。

(甚至像Application_Start()这样简单的东西)

每当我想'正确'运行webapp时,我需要在任务管理器中杀死WebDev.WebServer40.EXE,然后再调用静态。

q1)这是正常的,如果是,为什么?
q2)如果不是,那么我希望每次重新启动调试会话时都重新启动ASP.NET Development Server。 如何启用此功能?

更新 重新编译有时会导致调用Application_Start,而不是总是。

我已经在prebuild中调用批处理文件,例如

kill_WebServer40.bat

包含

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

如果您将这两个命令直接嵌入到预构建textarea中,那么如果WebServer尚未运行,则编译将失败。 This链接有助于解决此问题。

感到惊讶的是,之前没有进行过更多讨论 - 在开发应用程序时,就好像你有任何静态数据/缓存,并且你想要运行应用程序“干净”,你会遇到这个问题。

1 个答案:

答案 0 :(得分:2)

是的,这是正常的。如果您触摸web.config或重新编译它将重新启动。停止调试后,开发服务器继续在后台运行应用程序。

您可以通过右键单击图标并选择停止来停止任务栏中的开发服务器。

每次点击调试时都无法强制重启应用程序。只有在调试应用程序启动的边缘情况下才需要这样做。只需在调试之前点击重建,它就会产生预期的效果。