【.NET Core 开发实战学习笔记】StartUp:理解程序的启动过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【.NET Core 开发实战学习笔记】StartUp:理解程序的启动过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2310字,纯文字阅读大概需要4分钟。
内容图文
开始记录学习肖伟宇老师的课程【.NET Core 开发实战学习】,以每节课总结的形式进行记录
第一节 StartUp:理解程序的启动过程
创建一个ASP.NET Core Web 项目, 可以看到两个核心类 Program 和 StartUp,在Program的Main方法中调用了CreateHostBuilder方法,并返回了一个IHostBuilder接口,这个接口是承载整个项目的核心接口。
在CreateHostBuilder方法中,在Build Host过程中的ConfigureWebHostDefaults方法调用了另一个核心类StartUp,
其实所有的配置均可以在Program中进行设置,调用另一个核心类StartUp能更好的管理代码结构
在整个执行过程中,方法的执行是按照一定的顺序执行的,比如下面代码,并不会按照自己编写代码的顺序去执行委托函数,而是以一个固定的顺序去执行
Program.CreateHostBuilder定义如下
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureHostConfiguration(configurationBuilder => { Console.WriteLine("执行方法:ConfigureHostConfiguration"); }) .ConfigureServices(services => { Console.WriteLine("执行方法:ConfigureServices"); }) .ConfigureLogging(loggingBuilder => { Console.WriteLine("执行方法:ConfigureLogging"); }) .ConfigureAppConfiguration((hostBuilderContext, configurationBinder) => { Console.WriteLine("执行方法:ConfigureAppConfiguration"); }) .ConfigureWebHostDefaults(webBuilder => { Console.WriteLine("执行方法:ConfigureWebHostDefaults"); webBuilder.UseStartup<Startup>(); });
StartUp方法定义如下
public Startup(IConfiguration configuration) { Console.WriteLine("执行方法:Startup"); Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Console.WriteLine("执行方法:Startup.ConfigureServices"); services.AddControllers(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { Console.WriteLine("执行方法:Startup.Configure"); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
执行结果如下图
可见执行结果是按照 特定的顺序执行的,并不会因为调用接口的先后而改变执行顺序
这个执行顺序也说明一点,在使用第三方日志框架时,是在CreateHostBuilder方法中进行替换,而不是在StartUp中
内容总结
以上是互联网集市为您收集整理的【.NET Core 开发实战学习笔记】StartUp:理解程序的启动过程全部内容,希望文章能够帮你解决【.NET Core 开发实战学习笔记】StartUp:理解程序的启动过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。