首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Visual Studio能否在新的调试会话上重新启动IIS Express?

Visual Studio能否在新的调试会话上重新启动IIS Express?
EN

Stack Overflow用户
提问于 2012-09-26 04:59:12
回答 2查看 12.4K关注 0票数 16

我有一个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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-26 23:21:58

不幸的是,这不能通过配置来实现。我可能会向您提出另一个技巧,但它是否比您的更好由您决定:)

您可以创建更改web.config文件时间戳的生成后事件。我使用的是http://www.stevemiller.net/apps/的touch.exe工具。您还需要将"Run the post-build event“设置为Always。因此您的“构建事件”配置可能如下所示:

通过设置此选项,只要启动调试器,就会更新web.config时间戳,从而在第一次请求时重新启动应用程序(应用程序appdomain重新加载)-但此时您已经连接到此进程,因此您的Application_事件断点应该可以工作。

票数 19
EN

Stack Overflow用户

发布于 2014-09-17 03:30:11

您可以使用Powershell一行程序来避免依赖外部应用程序:

powershell -NoProfile -Command (Get-Item "<path>\Web.config").lastwritetime=(Get-Date)

最初的灵感来自here..。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12590963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档