我有一个 ASP.Net 应用程序,它在 Global.asax 的 Application_Start 期间执行一些数据库初始化。我正在使用 IIS Express 来调试应用程序。
我发现如果我停止调试,清除数据库,然后重新启动,Application_Start 代码不会被调用并且我的数据库没有正确初始化,所以我的应用程序失败了。这是因为 IIS Express 实例在调试停止后仍在运行。Visual Studio 似乎没有重新启动它,而是附加到现有进程。
有没有办法改变这种行为,以便启动新的调试会话总是重新启动 IIS Express 中的应用程序进程(或重置常规 IIS 中的应用程序池)?
或者,有没有办法在调试会话结束时强制 IIS Express 关闭?
我确实发现,如果我从项目设置中的 Web 对话框中选中“启用编辑并继续”,它会在调试结束时产生停止 IIS Express 的副作用。但我不确定我是否想仅出于停止 IIS Express 的目的而引入 Edit and Continue 的副作用。肯定有更好的方法吗?
不确定是否重要,但这是VS2012。