升级到 Web API 2 后HttpApplication.Application_Start不触发

本文关键字:Application Start HttpApplication Web API | 更新日期: 2023-09-27 18:37:28

我将应用程序升级到Web Api 2,Application_Start不会在IIS Express上运行的升级后触发。我确实遵循了 http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2 的官方升级路径,并三重检查了我的设置。

应用程序使用 StructureMap MVC 4 注入依赖项。因此,WebActivator的PreApplicationStartMethod被触发,依赖项解析器被正确设置。之后,无法跟踪其他执行。我已启用"编辑并继续",但未命中Application_Start开头的断点。

这是我尝试过的所有内容:a. 禁用预应用程序启动方法并运行应用b.更改 Global.asax 的编译设置和代码隐藏c. 创建另一个具有类似结构的 WebApi2 项目,并设置减去实际代码并且工作正常

我已经清理并运行了该应用程序;还清理了Temp ASP.NET 文件夹

感谢您对解决此问题的帮助。

升级到 Web API 2 后HttpApplication.Application_Start不触发

调试器在应用程序启动后附加,因此不会在应用程序启动方法中遇到任何断点。解决方法是使您的 Web 服务器在您附加到进程时重新启动:

只需

编辑您的 web.config(只需添加一个空格)并保存它,这将使您的 http 应用程序重新启动。

在Application_Start中放置一个 Debugger.Break(); 语句,然后执行iisreset或回收应用池,然后按 F5。如果断点未剪切,则应显示实时调试器窗口。

确保 IIS Express 已关闭,然后再次按 F5 查看是否命中Application_Start。

我刚刚遇到了同样的问题。global.asax.cs 方法Application_Start()没有参数。一旦我添加了标准方法Application_Start(object sender, EventArgs e)该方法就被击中了。