全球.asax Application_Start在调试时不会触发,但在生产中会触发

本文关键字:生产中 Application asax Start 调试 全球 | 更新日期: 2023-09-27 18:07:37

我使用Application_start在asp.net webforms应用程序中设置路由。它工作得很好,然后我克隆了一个新的机器上的回购,它停止工作。事件永远不会触发,路由也永远不会被设置。所以我最终得到了很多404错误。

我甚至在事件中抛出了一个异常,以确保它没有触发,异常从未被抛出。

全球.asax Application_Start在调试时不会触发,但在生产中会触发

我建议你在从Visual Studio启动应用程序之前尝试手动停止IISExpress

或者只是去你的Web项目属性的Web部分,并检查'启用编辑和继续'在底部。

当您选择编辑并继续,然后我们回收ASP。网网络每次调试运行时的服务器进程(Edit &继续功能工作)…这样虽然你会看到非常性能略有下降,您仍然可以进行调试你的Application_Start()方法…

这将帮助你理解为什么你面临这个问题:

这背后的原因是我们没有杀死ASP。Net Web服务器进程,因此Application_Start()是不是每次都被开除。我们这么做有一个很好的理由ASP。Net Web服务器进程是一项昂贵的任务,并且在大多数情况下在每次调试之后再循环此过程的场景会产生不利影响如果您不想调试您的Application_Start()方法,那么您可能不需要使用进程重启和节省性能大多数时间…

详情见下面链接的文章:

https://blogs.msdn.microsoft.com/webdev/2007/12/13/workaround-debugging-global-aspx-cs-application_start-with-asp-net-web-server-within-visual-studio/