ASP.NETCore-WebHostBuilder、WebApplication、WebApplication创建WebAPI应用的区别
一、三种创建WebAPI应用的区别
1、WebHost.CreateDefaultBuilder():
Net Core 2.x(2.1.x、2.2.x);
2、Host.CreateDefaultBuilder():
Net Core 3.x、Net5;
从WebHost迁移到Host时Service的写法变化最大,刚出来的挺长一段时间里第三方NuGet的兼容性没跟上,好多第三方库不可用。
3、WebApplication.CreateBuilder():
Net6、Net7,封装了WebHost和Host;
1)WebApplicationBuilder
主要负责 4 项工作:
使用 builder.Configuration
添加配置。
使用 builder.Services
添加服务
使用 builder.Logging
配置日志
配置 IHostBuilder
和 IWebHostBuilder
2)WebApplication提供的部分接口
-
IHost
- 用来启动和停止 Host -
IApplicationBuilder
- 用于建立中间件管道 -
IEndpointRouteBuilder
- 用于添加路由端点
3)其他知识:
app.UseRouting()、app.UseRouter()、app.UseEndpoints 在webapi(不带页面的WebApi应用)中不是必须的,使用mvc或者Razor时会用到。无页面的webapi无特殊需求不会用到。
app.UseStaticFiles();可有可无;
app.MapRazorPages();为Razor需要;
app.UseMvc();为Mvc需要;
app.MapControllers为WebAPI需要;
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/articles/17413559.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2020-05-18 C#-类成员添加[DataContract]和[DataMember]标识