馬上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)封裝了
IServiceProvider ApplicationServices { get; set; }
:應用程序使用的服務,就是ConfigureServices注入的那些。延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26