DefaultFilesMiddleware中間件的目的在于將目標(biāo)目錄下的默認(rèn)文件作為響應(yīng)內(nèi)容。我們知道,如果直接請求的就是這個默認(rèn)文件,那么前面介紹的StaticFileMiddleware中間件會將這個文件響應(yīng)給客戶端。如果我們能夠?qū)⑨槍δ夸浀恼埱笾囟ㄏ虻竭@個默認(rèn)文件上,一切就迎刃而解了。實際上DefaultFilesMiddleware中間件的實現(xiàn)邏輯很簡單,它采用URL重寫的形式修改了當(dāng)前請求的地址,即將針對目錄的URL修改成針對默認(rèn)文件的URL。[本文已經(jīng)同步到《ASP.NET Core框架揭秘》之中]

我們照例先來看看DefaultFilesMiddleware類型的定義。和其他兩個中間件類似,DefaultFilesMiddleware的構(gòu)造就有一個IOptions<DefaultFilesOptions>類型的參數(shù)來指定相關(guān)的配置選項。由于DefaultFilesMiddleware中間件本質(zhì)上依然體現(xiàn)了請求路徑與某個物理目錄的映射,所以DefaultFilesOptions依然派生于SharedOptionsBase。DefaultFilesOptions的DefaultNames屬性包含了預(yù)定義的默認(rèn)文件名,我們可以看到它默認(rèn)包含四個名稱(default.htm、default.html、index.htm或者index.html)。

   1: public class DefaultFilesMiddleware
   2: {
   3:     public DefaultFilesMiddleware(RequestDelegate next, IHostingEnvironment hostingEnv, IOptions<DefaultFilesOptions> options);
        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式