Intern Day6
学习大纲
ASP.NET Core 应用程序启动流程,中间件的作用与实现,配置服务与管道,通过 Startup 类 和 IStartupFilter 配置请求处理管道,依赖注入与生命周期。
三者关系
-
长方形的模型:
-
洋葱模型
-
这是HTTP的请求,从管道中进去,从管道中出来,进去是请求,出来是响应,请求和响应都会经过中间件。如果管道里什么都没有,那么请求无效(请求进来之后没有响应,有也是报错)。因为ASP.NET Core有扩展性管道,所以我们可以配置这个管道,以此来满足各种场景下的HTTP的请求需求。ASP.NET Core有很多特性,比如路由、认证、会话、缓存等,都是通过管道来实现的。
-
ASP.NET Core应用一般是使用某个框架(MVC、Web API等)来开发的,这些框架基本上都是建立在某个特殊的中间件上的。比如MVC,就是利用了路由这个中间件来实现了请求地址和它的控制器之间的映射等。
-
所以我们可以通过编写中间件,扩展请求管道,在ASP.NET Core上创建我们自己的Web框架,比如API网关:Ocelot(这个就是API网关的一个框架)
-
管道里面最重要的是中间件,所以学习顺序:中间件-管道-依赖注入
中间件Middleware
-
需要学会:大概原理、使用、怎么实现/创建
-
扩展方法(有多种):https://i.cnblogs.com/posts/edit-done;postId=14441114(这个好像有点问题,不知道属于哪个名词,待解决!)