我正在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链接有助于解决此问题。
感到惊讶的是,之前没有进行过更多讨论 - 在开发应用程序时,就好像你有任何静态数据/缓存,并且你想要运行应用程序“干净”,你会遇到这个问题。
答案 0 :(得分:2)
是的,这是正常的。如果您触摸web.config或重新编译它将重新启动。停止调试后,开发服务器继续在后台运行应用程序。
您可以通过右键单击图标并选择停止来停止任务栏中的开发服务器。
每次点击调试时都无法强制重启应用程序。只有在调试应用程序启动的边缘情况下才需要这样做。只需在调试之前点击重建,它就会产生预期的效果。