欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET?Core中的wwwroot文件夾

 更新時間:2022年02月10日 08:41:55   作者:痕跡g  
這篇文章介紹了ASP.NET?Core中的wwwroot文件夾,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

ASP.NET Core中wwwroot文件夾

默認情況下,ASP.NET Core應用程序中的wwwroot文件夾被視為webroot文件夾,并且該文件夾或目錄應位于根項目文件夾中。 在ASP.NET Core應用程序中,靜態(tài)文件可以存儲在webroot文件夾下的任何文件夾中,并且可以使用指向該根目錄的相對路徑進行訪問。

添加wwwroot(webroot)文件夾

當使用Web和MVC模板創(chuàng)建ASP.NET Core Web應用程序時,默認情況下,該文件夾(wwwroot)在根項目文件夾中創(chuàng)建。 但是,如果使用空模板創(chuàng)建新的.NET Core應用程序,則默認情況下,Visual Studio將不會創(chuàng)建此文件夾。

現(xiàn)在, 讓我們使用Empty項目模板來創(chuàng)建一個ASP.NET Core應用程序, 然后了解如何添加wwwroot文件夾。

為了添加wwwroot文件夾,右鍵單擊項目,然后選擇 添加 => 新建文件夾 選項,然后將文件夾名稱提供為wwwroot。 創(chuàng)建文件夾后,請如下所示查看文件夾符號。

在早期的ASP.NET應用程序中,可以從項目根文件夾或它下面的任何其他文件夾提供靜態(tài)文件。 但這已在ASP.NET Core中更改。

現(xiàn)在,只能通過HTTP請求為webroot – wwwroot文件夾或其下的任何子文件夾中的文件提供服務。

其他所有文件均被阻止,默認情況下無法提供。 但是,如果您愿意,還可以更改此默認行為。

通常,wwwroot文件夾內(nèi)應有用于不同類型的靜態(tài)文件的單獨文件夾,例如JavaScript,CSS,圖像,庫腳本等,如下所示:

現(xiàn)在,您可以使用基本URL和文件名訪問靜態(tài)文件,例如CSS,js,lib。

例如,您可以通過https:// localhost: /js/site.js訪問js文件夾中的上述site.js文件。

注意:為了提供靜態(tài)文件,您需要在Startup.cs文件的“ Configure()”方法中包括app.UseStaticFiles()中間件組件。

wwwroot可以重命名嗎?

是的。 您可以根據(jù)自己的選擇將wwwroot文件夾重命名為任何其他名稱,并在準備Program.cs文件中的托管環(huán)境時將其設置為webroot。

例如,讓我們將wwwroot文件夾重命名為“ MyRoot”文件夾。

將wwwroot文件夾重命名為MyRoot之后,您需要調用UseWebRoot()方法以將MyRoot文件夾配置為Program類的Main()方法中的webroot文件夾,如下所示。

如何訪問wwwroot文件夾?

如上所示, 我們可以創(chuàng)建基于自身重命名的文件夾, 也可以使用wwwroot文件夾, 接下來, 我們在MyRoot文件夾當中,添加一個index.html文件, 并且修改html當中的內(nèi)容, 如下所示。

然后,啟動應用程序, 當創(chuàng)建的是默認的Empty模板的程序,試圖訪問根文件夾下的index.html,如下所示。

之所以沒有像預期的那樣獲取輸出,因為我們沒有任何中間件可以為請求處理管道中的靜態(tài)文件服務。

如何配置靜態(tài)文件中間件?

為了處理靜態(tài)資源,我們需要在應用程序的應用程序請求處理管道中配置一個名為 UseStaticFiles() 中間件件。

UseStaticFiles()中間件是由框架提供的內(nèi)置中間件ASP.NET用于處理核心應用程序中的靜態(tài)ASP.NET文件。

讓我們修改Startup中的Configure方法,將 UseStaticFiles()中間件添加到應用程序的請求處理管道中, 如下所示。

接下來將按預期方式看到輸出,如下圖所示。

現(xiàn)在,如果從 URL 中刪除 index.html ,將提示找不到此localhost頁面, 但是,我們想要的是,當我們導航到上文所示的URL 時,我們希望我們的 index.html 頁面能夠滿足請求。

也就是說,我們需要將 index.html 頁面設置為默認頁面。

如何設置默認頁面?

大多數(shù)Web應用程序都有一個默認頁面,例如index.html或default.html作為啟動頁面,因為它很容易記住。

當用戶訪問該應用程序的根URL時,將顯示該網(wǎng)頁。 例如,如果您有一個名為index.html的頁面,并且希望將該頁面作為默認頁面,以便每當任何用戶訪問您的根URL時,都將顯示該頁面。

為了將位于wwwroot文件夾中的index.html頁面作為應用程序的默認頁面提供服務,您需要向請求處理管道中添加另一個中間件,即UseDefaultFiles()中間件。

因此,如下所示修改Startup類的Configure()方法以使用UseDefaultFiles()中間件,該中間件將為您的應用程序設置默認頁面。

注意:您需要在UseStaticFiles()中間件之前添加UseDefaultFiles()中間件,以便提供默認文件。 您需要記住的一點是UseDefaultFiles()中間件只是URL重寫器,它永遠不會提供靜態(tài)文件。 該中間件的工作是簡單地將傳入URL重寫為默認文件,然后由靜態(tài)文件中間件提供服務。

如何將“自定義HTML頁”設置為默認頁面?

UseDefaultFiles()中間件將在wwwroot文件夾中搜索以下文件:

  • index.htm
  • index.html
  • default.htm
  • default.html

這是默認行為。 但是,如果您愿意,還可以更改此默認行為。 例如,讓我們將另一個HTML頁面添加到項目wwwroot文件夾中,其名稱為Page1.html。

添加Page1.html文件后,wwwroot文件夾將包含兩個HTML文件,如下圖所示。

將Page1.html設置為默認頁面:

現(xiàn)在,我們希望Page1.html頁面成為我們的默認頁面,而不是index.html頁面。 為此,您需要按如下所示修改Startup類的Configure()方法。

在這里,我們將創(chuàng)建DefaultFilesOptions類的實例,并將默認文件名添加為Page1.html,然后將此對象傳遞給UseDefaultFiles中間件。

UseFileServer()中間件組件的用途是什么?

UseFileServer()中間件組件結合了UseStaticFiles,UseDefaultFiles和UseDirectoryBrowser中間件的功能。

我們已經(jīng)討論了UseStaticFiles和UseDefaultFiles中間件。 顧名思義,DirectoryBrowser中間件啟用了目錄瀏覽,使用戶可以查看存儲在特定目錄中的文件。

在我們的示例中,我們可以使用UseFileServer()中間件替換UseStaticFiles()和UseDefaultFiles()中間件,如下所示。

到此這篇關于ASP.NET Core中的wwwroot文件夾的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。 

相關文章

最新評論