|
http://ASP.NET Core自从2016年以来,已经经历了5个版本,目前即将11月发布的http://ASP.NET Core 7,它的新特征中间件、服务注册等功能受到大家的一致好评。那么你知道http://ASP.NET Core 的哪些关键概念呢?本文将介绍http://ASP.NET Core的一些关键概念,如果不全欢迎留言补充。
1. StartUp类
在Startup.ConfigureServices方法里配置或注册服务
在Startup.Configure方法里配置请求处理管道。请求处理管道由一系列中间件组建构成,每个中间件对HttpContext进行异步操作,然后调用下一个中间件组件,或是结束请求。
注意:.net6不再有StartUp类,改为了Program类,注册服务和配置管道没有了方法,取而代之的是builder。
//注册服务var builder = WebApplication.CreateBuilder(args);builder.Services.AddControllers();//注册控制器服务//配置请求处理管道var app = builder.Build();app.UseSwagger();//配置UseSwagger2.依赖注入
http://asp.net core拥有内建的依赖注入框架。在应用中,可以通过创建参数中包含目标服务的类型或接口的构造函数,来获取这个服务的实例。生命周期有单例模式、瞬时和作用域。
3.中间件
http://asp.net core包含丰富的内建中间件,你也可以实现自己的中间件。中间件通常是在Startup.Configure方法里,通过调用它的Use...扩展方法来加入到请求处理管道里,比如UseStaticFiles或者UseMvc等。
.NET6通过builder来增加中间件。
4.主机
http://asp.net core在启动时构建一个主机。主机封装了应用需要的所有资源,比如HTTP服务器、中间件、日志系统、依赖注入框架、配置等。之所以把所有的资源放在一个地方,是为了生命周期管理。
有两种主机可用,通用主机和web主机。推荐使用通用主机,web主机是为了向后兼容考虑的。
创建主机的代码在Program.Main方法里:
public class Program{ public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });}.NET6改变了方式,省略了Main方法和CreateHostBuilder。
5.服务器
http://asp.net core应用程序使用HTTP服务器监听http请求。服务器把对应用程序的请求转化为HttpContext。
6.配置
http://asp.net core中有一系列内建的配置提供器,比如appsettings.json,环境变量,命令行参数等,你也可实现自定义的配置提供器。
7.选项模式
http://asp.net core 尽可能地遵照选项模式(Options)来存储和检索配置信息。选项模式使用类来代表一组相关的设置。
8.日志
http://asp.net core支持日志api,它能和许多内建的和第三方日志提供程序通信。
在应用中通过依赖注入获取一个ILogger实例,并调用log方法记录日志。
9.路由
路由就是对请求url和处理程序的映射。
10.错误处理
http://asp.net core包含内建的错误处理机制。
11.构造HTTP请求
IHttpClientFactory实现可以用来创建HttpClient实例。
12.内容根目录
通常内容根目录指向web app可执行文件所在目录,可以在构建主机的时候配置其他的位置。
13.web根目录
web根目录下存放公共的静态的资源,比如css,js和图片文件,通常指向目录{Content Root}/wwwroot,可以在构建主机的时候配置其他的位置。默认情况下,静态文件中间件只会从web根目录和它的子目录里提供文件。
在razor(.cshtml)文件里,~/代表的就是web根目录。以~/开头的路径被称为虚拟路径。
参考来源:https://www.cnblogs.com/hkbox/p/11408109.html
版权声明:本文来源于网友收集或网友提供,仅供学习交流之用,如果有侵权,请转告版主或者留言,本公众号立即删除。
<hr/>

支持小薇
腾讯云福利:
爆款2核2G4M云服务器首年价75元玩服务器的可以试一试
链接:https://url.cn/AxqLoSLW
关注公众号:DotNet开发跳槽觉得不错,请点个在看呀 |
|