昨天小光从K大那边学到了如何生成一个网页程序专案,并且了解了网页程序的类型,还有网页程序初始的资料夹结构和初始的两个档案的内容,然而在进入开发之前今天要先了解一些网页程序的基本知识。
「既然是学习网页程序开发,还是要先从基础开始。」
一大早老K就跟小光这麽说,这时小光正坐到位子上面连电脑都还没打开,而大头依旧在需求文件後面埋头苦干,不同的是需求文件少了一半。
「前辈那有些甚麽基础知识需要知道的吗。」
小光听到老K的话之後用很认真的表情对老K这麽说。
「表情很好,通常的年轻人都只是学一学怎麽写程序,都不会想学这个基本功...」
这时大头抬起头来偷笑,因为他看到老K对着小光开始一连串的说教,不过没过多久他还是赶着回去处理自己的需求开发。
「好的,那我们来先学学两个东西,请求的流水线跟相依注入的生命周期。」
在说完一长串的说教後终於要开始进入正题。
首先要先介绍dotnetcore请求的流水线走的方式,关於这方面请大家先看一下下图。
MSDN的.Net Core Request Pipeline
这是一个请求的流水线,由请求发动後经过Routing
及Middleware
等等的处理後再进入到Endpoint
处理後会开始回到response
的部分。至於Endpoint
请看下图。
上图则是请求的流水线中Endpoint
的部分,其中MVC以例子为例可以再分成Filter
的处理以及Model Valiadtion
和Model Binding
的过程後会进到Controler的Action
的部分,其处理细节部分可以参考MVC的生命周期。
因此在程序开发的部分可以依据需求把部分的逻辑放到Filter内,然後验证的处理後在到Action
内处理商业逻辑。
所以关於请求的流水线到此先告一段落,至於内部细节到时会在後续章节在更进一步说明该阶段处理的过程。
刚刚介绍到Controler的Action的部分,所以这里也先说明一下之後要介绍的相依性插入的重要观念di lifecycle
,不过这边介绍的是dotnetcore原生的相依注入的工具的名词,之後介绍autofac
时会介绍之间的对应。
这边相依注入的生命周期类别如下:
生命周期类别 | 说明 |
---|---|
Transient | 每一个元件的实体都是不同的,例如在不同的物件中注入的元件都是不同的 |
Scoped | 同一个请求中的元件会是相同的,但是不同的请求则会是不同的元件 |
Singleton | 整个网页站台中的实例只会有一个,就算是不同的请求所注入的实例也是一样的 |
会提到这个部分是要注意通常的类型都是使用Scoped
的这个类型,但如果要注入的元件例如会需要维持一条连线的状况下会使用Singleton
的类型,至於在是用Transient
时要注意该元件上是否有状态的存在,但是使用Transient上会造成资源的浪费,所以设计上会使用Scoped
并且注意不要有跟请求状态有关的变数存在上面来取代Transient
。
今天老K跟小光介绍dotnet core的基本功,请求的流水线跟相依住注入的生命周期,希望能够让读者们对於网页程序开发的知识有一些认识。
<<: DAY 15 『 Realm 新增、修改、删除 』Part3
>>: Day 12 - 物品借用纪录系统 (3) 系统完成
强型闯入DenoLand[31] - MongoDB 安装教学 本章会分为两个部分: MongoD...
前导介绍 说到深度学习, 首先需要了解什麽是类神经网路和它的操作方法。 类神经网路,顾名思义就是仿...
上次《Pyhon X 金融分析 X Azure》系列使用Azure去做简单的金融体验,这次就继续拓展...
主题描述 以下三个函数功能相同,都是把 base64 转换为 ArrayBuffer 测试看看哪个效...
swift 首先我们来看看图片资源设定 撰写app的过程中 图片档案要非常小心 不要侵犯到别人的智慧...