asp.net – Visual Studio可以在新的调试会话中重新启动IIS Express吗?

前端之家收集整理的这篇文章主要介绍了asp.net – Visual Studio可以在新的调试会话中重新启动IIS Express吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.Net应用程序,在Global.asax中的Application_Start期间执行一些数据库初始化.我正在使用IIS Express来调试应用程序.

我发现如果我停止调试,清除数据库,并重新启动,Application_Start代码不被调用,我的数据库没有被初始化正确,所以我的应用程序失败.这是因为IIS Express实例在调试停止后仍然运行.而不是重新启动它,Visual Studio似乎附加到现有的进程.

有没有办法改变这种行为,以便启动新的调试会话始终重新启动IIS Express中的应用程序进程(或在常规IIS中重置应用程序池)?

或者,是否有办法强制IIS Express在调试会话结束时关闭

我确实发现,如果我在项目设置中从Web对话框中选中“启用编辑并继续”,那么在调试结束时它具有停止IIS Express的副作用.但我不知道我是否想要介绍编辑和继续的副作用,只是为了停止IIS Express.当然有更好的方法吗?

不确定是否重要,但这是VS2012.

解决方法

不幸的是,通过配置无法实现.我可能会提出你另一个伎俩,但是由你决定是否比你的更好:)

您可以创建一个修改后的事件来更改web.config文件的时间戳.我从http://www.stevemiller.net/apps/使用了一个touch.exe工具.您还需要将“运行后建立事件”设置为“始终”.因此,您的“构建事件”配置可能如下所示:

只要启动调试器,这个选项就被设置,web.config时间戳被更新,导致应用程序重新启动(应用程序appdomain重新加载)在第一个请求 – 但在这一点上,你已经附加到这个进程,所以你的Application_事件断点应该工作.

猜你在找的asp.Net相关文章