馬上2016年就要過去了,時間可是真快啊。

上次寫完 Identity 系列之后,反響還不錯,所以本來打算寫一個 ASP.NET Core 中間件系列的,但是中間遇到了很多事情。首先是 NPOI 的移植工作,移植過后還有一些Bug需要修復,然后一個事情是一個有關(guān)于分布式架構(gòu)中消息一致性的一個中間件設(shè)計開發(fā)工作,還有就是博客還要堅持寫,最后就是還有好幾本書需要讀,以及消化學習,所以深深感覺到時間不夠用。廢話不多說了,進入主題。

大部分中間件都是要依賴于 HTTP 管道和 HttpAbstractions 提供的上下文的,所以有必要先介紹一下 ASP.NET Core 在管道中封裝了什么,了解清楚之后有助于更高的進階學習。你看不懂也沒有關(guān)系,對這些概念有一個認識就可以了,不需要你精通每一步都具體做了哪些東西,達到會用就是我的目的。因為我覺得隨著你以后開發(fā)的深入,對這些東西使用多了之后,自然會想了解更多,到那個時候,你就會去看源碼了。

IApplicationBuilder

IApplicationBuilder 是應用大家最熟悉它的地方應該就是位于 Startup.cs 文件中的 Configure 方法了吧

public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory){
    app.UseDeveloperExceptionPage();
    app.UseStaticFiles();
    app.UseMvc();
}

IApplicationBuilder 就像其名字一樣,其實很簡單,就是對內(nèi)做了一個接口封裝,對外提供了一個擴展,具體來說就是

對內(nèi)封裝了