当前位置 : 主页 > 网络编程 > ASP >

Asp.net core 2.2 的一些特点

来源:互联网 收集:自由互联 发布时间:2021-06-24
Asp.net core 还是基于.net framework 开发的,但是代码设计采用的是.net core的风格. 主要特点: 1原理以及环境部分. 1.分为了WebHost 和GenericHost 2.启动方法为Main方法,并在build方法中注册StartUp类(默

Asp.net core 还是基于.net framework 开发的,但是代码设计采用的是.net core的风格.

主要特点:

1>原理以及环境部分.

1.分为了WebHost 和GenericHost

2.启动方法为Main方法,并在build方法中注册StartUp类(默认的)来实现服务启动

3.自带了依赖注入(DI:depencyInject,写在StartUp类)

4.webconfig文件不再使用,现在使用appsetting.json代替,而appsetting.json还可以根据环境区分不同的配置.需要在代码中选择搭载的环境,而其中具体的配置读取是通过section获取json中的节点来实现.

5.管道机制修改,现在的管道通过自己注册实现,可以自定义管道,而不是像以前一样必须走完所有的事件

6.MVC框架也显示作为管道的一环,可以用过代码决定是否使用MVC

7.管道的处理顺序.假设管道中一共要执行1,2,3,4四个步骤.

以前在asp.net 管道中是按1 begin 1return 2begin 2return 3begin 3return 4begin 4return的顺序来执行.

在asp.net core中是按 1begin 2begin 3begin 4begin 4return 3return 2return 1return 的顺序来执行

8.不在有httphandler和httpmodule的区别.都是通过一个通过在注册在管道中的处理类来实现.区别是module对应的处理类的实现中.处理结束以后需要调用next()方法去到下一个在管道中注册的处理类.而handler对应的处理类的实现作为管道的终点,不要调用next()方法.(以第7点为例子,这时就会开始按4return 3return 2return 1return 步骤执行了)

9.大部分的方法都是在接口上通过扩展方法来实现的.

10.以来注入的类生命周期根据调用的方法不同而不同.singleton,scope,transit分别对应全局都用一个(单例),每次来了请求才创建一个对象,每次使用创建一个对象.

且根据创建的写法不同会决定是否会使用完成后会自动释放的区别.

几个比较中的接口:IServiceCollection, IApplicationBulider等等

 

2>MVC框架部分

asp.net core 的mvc 框架现在都是继承自BaseController类,而不是像以前一样继承自ApiController类.

而其他的一些功能需要通过加上[ApiController]这个attribute实现.其他Route,FromBody,FromHead等等Attribute用法和以前一样.

其他部分使用也和以前类似.

 

以上所有均为针对个人使用情况概括所以不完整,具体文档参见https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.2

网友评论