我的项目是github上基于abp创建的一个快速框架Abp Vnext Pro来生成的,可能会跟abp官方生成的项目结构稍稍有点区别,单基本上相同。
本文章只是为了记录abpvnext项目中类和方法的启动加载顺序。
Program类
Main方法中调用 CreateHostBuilder(ASP.NET Core托管模型)方法
CreateHostBuilder中,会启动Startup构造。
Startup类
由上一步的CreateHostBuilder启动Startup 构造;再执ConfigureServices方法。
ConfigureServices方法:其中调用了services.AddApplication<HttpApiHostModule>,HttpApiHostModule中注册加载了项目需要用的模块。
然后执行Configure()。
Configure:其中调用app.InitializeApplication,这是aspnetcore 中参数 Microsoft.AspNetCore.Builder.IApplicationBuilder执行对应用程序的初始加载。
我这里还有另外一个IHostApplicationLifetime lifetime 参数 用来执行一些预热注册
lifetime.ApplicationStopped.Register(ConfigurePreheat); 其中ConfigurePreheat为委托对象方法,里面包含自定义的需要预热的加载。
---------未完待续