我正在尝试在 ASP.NET Web 应用程序的 global.asax.cs 文件中调试某些内容,并在 Application_Start() 事件中设置了一个断点,但是当我在 VS2008 中启动 Web 应用程序时,该事件没有被触发。我的目标是 3.5 框架。
什么可以阻止此事件被触发?或者我怎么可能把项目搞砸了,以至于这个事件不再被连接起来?
我正在尝试在 ASP.NET Web 应用程序的 global.asax.cs 文件中调试某些内容,并在 Application_Start() 事件中设置了一个断点,但是当我在 VS2008 中启动 Web 应用程序时,该事件没有被触发。我的目标是 3.5 框架。
什么可以阻止此事件被触发?或者我怎么可能把项目搞砸了,以至于这个事件不再被连接起来?
在 global.asax 文件中调试新编写的代码的一个简单技巧是保存 web.config 文件。每次保存 config.file 时,应用程序都会停止并启动。
您可以在此博客条目中找到有用的信息
解决方法:在 Visual Studio 中使用 ASP.Net Web 服务器调试 Global.aspx.cs Application_Start()
这背后的原因是我们不会在每次调试运行后终止 ASP.Net Web 服务器进程,因此每次都不会触发 Application_Start()。我们这样做是有充分理由的...启动 ASP.Net Web Server 进程是一项昂贵的任务,并且在大多数情况下,在每次调试后回收此进程都会对您的性能产生不利影响...如果您不想调试您的 Application_Start() 方法,那么您可能不需要重新启动进程并在大多数情况下节省性能......
建议的解决方法之一:
您可以转到 Web 应用程序的属性页面并启用编辑并继续,如下所示:
(来自 Visual Web Developer 团队博客)
如果我没记错的话,Application_Start 在调试器连接到应用程序之前运行。
尝试执行其他操作来检查 Application_Start 方法是否运行,例如设置应用程序变量:
Application("app") = "started"
然后在页面中显示应用程序变量,看看是否设置了。