馬上2016年就要過(guò)去了,時(shí)間可是真快啊。
上次寫(xiě)完 Identity 系列之后,反響還不錯(cuò),所以本來(lái)打算寫(xiě)一個(gè) ASP.NET Core 中間件系列的,但是中間遇到了很多事情。首先是 NPOI 的移植工作,移植過(guò)后還有一些Bug需要修復(fù),然后一個(gè)事情是一個(gè)有關(guān)于分布式架構(gòu)中消息一致性的一個(gè)中間件設(shè)計(jì)開(kāi)發(fā)工作,還有就是博客還要堅(jiān)持寫(xiě),最后就是還有好幾本書(shū)需要讀,以及消化學(xué)習(xí),所以深深感覺(jué)到時(shí)間不夠用。廢話(huà)不多說(shuō)了,進(jìn)入主題。
大部分中間件都是要依賴(lài)于 HTTP 管道和 HttpAbstractions 提供的上下文的,所以有必要先介紹一下 ASP.NET Core 在管道中封裝了什么,了解清楚之后有助于更高的進(jìn)階學(xué)習(xí)。你看不懂也沒(méi)有關(guān)系,對(duì)這些概念有一個(gè)認(rèn)識(shí)就可以了,不需要你精通每一步都具體做了哪些東西,達(dá)到會(huì)用就是我的目的。因?yàn)槲矣X(jué)得隨著你以后開(kāi)發(fā)的深入,對(duì)這些東西使用多了之后,自然會(huì)想了解更多,到那個(gè)時(shí)候,你就會(huì)去看源碼了。
IApplicationBuilder
IApplicationBuilder
是應(yīng)用大家最熟悉它的地方應(yīng)該就是位于 Startup.cs 文件中的 Configure 方法了吧
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory){ app.UseDeveloperExceptionPage(); app.UseStaticFiles(); app.UseMvc(); }
IApplicationBuilder 就像其名字一樣,其實(shí)很簡(jiǎn)單,就是對(duì)內(nèi)做了一個(gè)接口封裝,對(duì)外提供了一個(gè)擴(kuò)展,具體來(lái)說(shuō)就是
對(duì)內(nèi)封裝了
IServiceProvider ApplicationServices { get; set; }
:應(yīng)用程序使用的服務(wù),就是ConfigureServices注入的那些。網(wǎng)友評(píng)論