• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

    ASP.NET Core靜態(tài)文件使用教程(9)

    來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:35:32
    文檔

    ASP.NET Core靜態(tài)文件使用教程(9)

    ASP.NET Core靜態(tài)文件使用教程(9):在這一章,我們將學(xué)習(xí)如何使用文件。幾乎每個(gè)web應(yīng)用程序都需要一個(gè)重要特性:能夠從文件系統(tǒng)提供文件(靜態(tài)文件)。 靜態(tài)文件像JavaScript文件、圖片、CSS文件等,我們Asp.Net Core應(yīng)用程序可以直接提供給客戶。 靜態(tài)文件通常位于web根(wwwroot)文件
    推薦度:
    導(dǎo)讀ASP.NET Core靜態(tài)文件使用教程(9):在這一章,我們將學(xué)習(xí)如何使用文件。幾乎每個(gè)web應(yīng)用程序都需要一個(gè)重要特性:能夠從文件系統(tǒng)提供文件(靜態(tài)文件)。 靜態(tài)文件像JavaScript文件、圖片、CSS文件等,我們Asp.Net Core應(yīng)用程序可以直接提供給客戶。 靜態(tài)文件通常位于web根(wwwroot)文件

    在這一章,我們將學(xué)習(xí)如何使用文件。幾乎每個(gè)web應(yīng)用程序都需要一個(gè)重要特性:能夠從文件系統(tǒng)提供文件(靜態(tài)文件)。

  • 靜態(tài)文件像JavaScript文件、圖片、CSS文件等,我們Asp.Net Core應(yīng)用程序可以直接提供給客戶。
  • 靜態(tài)文件通常位于web根(wwwroot)文件夾。
  • 默認(rèn)情況下,這是我們可以直接從文件系統(tǒng)提供文件的唯一的地方。
  •  案例

    現(xiàn)在讓我們通過一個(gè)簡單的示例來了解我們?cè)谖覀兊膽?yīng)用程序如何提供這些靜態(tài)文件。

    在這里,我們想要向我們的 FirstAppDemo 應(yīng)用程序添加一個(gè)簡單的 HTML 文件,該 HTML 文件放在web 根 (wwwroot) 文件夾。在解決方案資源管理器中右鍵單擊wwwroot文件夾并選擇Add→新項(xiàng)。

    在中間窗格中,選擇 HTML 頁面并稱之為 index.html,單擊添加按鈕。

    你會(huì)看到一個(gè)簡單的index.html文件。讓我們?cè)谄渲刑砑右恍┖唵蔚奈谋竞蜆?biāo)題如下所示。

    <!DOCTYPE html> 
    <html> 
     <head> 
     <meta charset="utf-8" /> 
     <title>Welcome to ASP.NET Core</title> 
     </head> 
     <body> 
     Hello, Wolrd! this message is from our first static HTML file. 
     </body> 
    </html>
    

    當(dāng)您運(yùn)行應(yīng)用程序并在瀏覽器中輸入index.html時(shí),您將看到app.Run中間件將拋出一個(gè)異常,因?yàn)槟壳霸谖覀兊膽?yīng)用程序中什么都沒有。

    現(xiàn)在我們的項(xiàng)目中沒有中間件會(huì)去找文件系統(tǒng)上的任何文件。

    為了解決這個(gè)問題,通過在解決方案資源管理器中右鍵單擊您的項(xiàng)目并選擇管理NuGet包進(jìn)入到NuGet包管理器。

    搜索 Microsoft.AspNet.StaticFiles,會(huì)找到靜態(tài)文件中間件。讓我們安裝此 nuget 程序包,現(xiàn)在我們可以在Configure方法中注冊(cè)中間件。

    讓我們?cè)谙旅娴某绦蛑兴镜腃onfigure方法中添加 UseStaticFiles 中間件。

    using Microsoft.AspNet.Builder; 
    using Microsoft.AspNet.Hosting; 
    using Microsoft.AspNet.Http; 
    using Microsoft.Extensions.DependencyInjection; 
    using Microsoft.Extensions.Configuration; 
    namespace FirstAppDemo { 
     public class Startup { 
     public Startup() { 
     var builder = new ConfigurationBuilder() 
     .AddJsonFile("AppSettings.json"); 
     Configuration = builder.Build(); 
     } 
     public IConfiguration Configuration { get; set; } 
     
     // This method gets called by the runtime. 
     // Use this method to add services to the container. 
     // For more information on how to configure your application, 
     // visit http://go.microsoft.com/fwlink/?LinkID=398940 
     public void ConfigureServices(IServiceCollection services) { 
     } 
     
     // This method gets called by the runtime. 
     // Use this method to configure the HTTP request pipeline. 
     public void Configure(IApplicationBuilder app) { 
     app.UseIISPlatformHandler(); 
     app.UseDeveloperExceptionPage(); app.UseRuntimeInfoPage(); 
     app.UseStaticFiles(); 
     
     app.Run(async (context) => { 
     throw new System.Exception("Throw Exception"); 
     var msg = Configuration["message"]; 
     await context.Response.WriteAsync(msg); 
     }); 
     } 
     
     // Entry point for the application. 
     public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
     } 
    }
    
    

    除非你通過傳入一些不同的配置參數(shù)來覆蓋選項(xiàng),否則靜態(tài)文件會(huì)對(duì)于一個(gè)給定的請(qǐng)求看作是請(qǐng)求路徑。這個(gè)請(qǐng)求路徑是相對(duì)于文件系統(tǒng)。

  • 如果靜態(tài)文件根據(jù)url找到一個(gè)文件,它將直接返回該文件,而不調(diào)用下一個(gè)塊中間件。
  • 如果沒有找到匹配的文件,那么它會(huì)繼續(xù)執(zhí)行下一個(gè)塊中間件。
  • 讓我們保存Startup.cs文件并刷新瀏覽器。

    你現(xiàn)在可以看到index.html文件。你放置在wwwroot文件夾下任何地方的任何JavaScript文件、CSS文件或者HTML文件,您都能夠在Asp.Net Core中直接當(dāng)靜態(tài)文件使用。

  • 在如果你想 讓index.html作為您的默認(rèn)文件,IIS一直有這種功能。
  • 你可以給 IIS 一個(gè)默認(rèn)文件列表。如果有人訪問根目錄,在這種情況下,如果 IIS 找到命名為 index.html的文件,它就會(huì)自動(dòng)將該文件返回給客戶端。
  • 讓我們現(xiàn)在開始進(jìn)行少量更改。首先,我們需要?jiǎng)h除強(qiáng)制的錯(cuò)誤,然后添加另一塊的中間件,這就是 UseDefaultFiles。以下是配置方法的實(shí)現(xiàn)。
  • / This method gets called by the runtime. 
    // Use this method to configure the HTTP request pipeline. 
    public void Configure(IApplicationBuilder app) { 
     app.UseIISPlatformHandler(); 
     app.UseDeveloperExceptionPage(); 
     
     app.UseRuntimeInfoPage(); 
     app.UseDefaultFiles(); 
     app.UseStaticFiles(); 
     
     app.Run(async (context) => { 
     var msg = Configuration["message"]; 
     await context.Response.WriteAsync(msg); 
     }); 
    }
    
    

     這段中間件將監(jiān)聽傳入的請(qǐng)求,如果請(qǐng)求是根目錄,就查看是否有匹配的默認(rèn)文件。

    您可以覆蓋這個(gè)中間件的選項(xiàng)來告訴它如何匹配默認(rèn)文件,但index.html是默認(rèn)情況下的一個(gè)默認(rèn)的文件。

    讓我們保存 Startup.cs 文件并將您的瀏覽器轉(zhuǎn)到 web 應(yīng)用程序的根目錄。

    你現(xiàn)在可以看到index.html是默認(rèn)文件。你安裝中間件的順序是很重要的,因?yàn)槿绻銓seDefaultFiles放置在UseStaticFiles之后,你將可能不會(huì)得到相同的結(jié)果。

    如果你想要使用UseDefaultFiles和UseStaticFiles中間件,你可以使用另一個(gè)中間件Microsoft.aspnet.staticfiles,它也是NuGet包,它是一個(gè)服務(wù)器中間件。這本質(zhì)上是以正確的順序包含了默認(rèn)文件和靜態(tài)文件。

    // This method gets called by the runtime. 
    // Use this method to configure the HTTP request pipeline. 
    public void Configure(IApplicationBuilder app) { 
     app.UseIISPlatformHandler(); 
     app.UseDeveloperExceptionPage(); 
     
     app.UseRuntimeInfoPage(); 
     app. UseFileServer(); 
     
     app.Run(async (context) => { 
     var msg = Configuration["message"]; 
     await context.Response.WriteAsync(msg); 
     }); 
    } 
    
    

    讓我們?cè)僖淮伪4?Startup.cs 文件。一旦你刷新瀏覽器,你將看到相同的結(jié)果,如下面的屏幕快照所示。

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    ASP.NET Core靜態(tài)文件使用教程(9)

    ASP.NET Core靜態(tài)文件使用教程(9):在這一章,我們將學(xué)習(xí)如何使用文件。幾乎每個(gè)web應(yīng)用程序都需要一個(gè)重要特性:能夠從文件系統(tǒng)提供文件(靜態(tài)文件)。 靜態(tài)文件像JavaScript文件、圖片、CSS文件等,我們Asp.Net Core應(yīng)用程序可以直接提供給客戶。 靜態(tài)文件通常位于web根(wwwroot)文件
    推薦度:
    標(biāo)簽: 使用 使用教程 教程
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 99re只有精品8中文| 亚洲精品麻豆av| 无码精品人妻一区二区三区影院| 久久久一本精品99久久精品88| 国产精品天干天干在线综合| 国产99视频精品一区| 亚洲精品白浆高清久久久久久| 国产乱码伦精品一区二区三区麻豆| laowang在线精品视频| 蜜芽亚洲av无码精品色午夜 | 亚洲精品欧美精品日韩精品| 国产精品亚洲专区无码WEB| 国产精品成人观看视频免费| 精品无码一区二区三区爱欲九九| 四库影院永久四虎精品国产 | 亚洲嫩草影院久久精品| 精品无码国产一区二区三区51安| 日本精品一区二区三区在线视频一 | 国产精品国色综合久久| 真实国产精品vr专区| 欧美亚洲日本久久精品| 国产呦小j女精品视频| 99久久www免费人成精品| 亚洲精品综合一二三区在线| 国产精品毛片久久久久久久| 国产精品看高国产精品不卡| 精品偷自拍另类在线观看| 久久亚洲私人国产精品vA| 无码人妻精品一区二区三区东京热| 婷婷久久精品国产| 日本精品自产拍在线观看中文| 久久久久成人精品无码 | 亚洲第一区精品观看| 欧美成人精品一区二三区在线观看| 久久e热在这里只有国产中文精品99 | 无码精品日韩中文字幕| 无码日韩精品一区二区免费暖暖 | 亚洲嫩草影院久久精品| 92精品国产自产在线观看| 国产精品九九久久精品女同亚洲欧美日韩综合区| 日韩午夜高清福利片在线观看欧美亚洲精品suv|