zoukankan      html  css  js  c++  java
  • ASP.NET Core中的静态文件

    ASP.NET Core能够将静态文件(例如HTML,CSS,图像和JavaScript)直接提供给客户端,而无需通过MVC中间件。

    静态文件

    HTML,CSS,图像,JavaScript文件称为静态文件。静态文件中的内容在用户请求时不会动态更改。因此,将请求一直传递到MVC中间件只是为了提供这些文件的话,就有一点大材小用的感觉。因此,ASP.NET Core为此提供了内置的中间件。

    静态文件中间件

     要提供静态文件,我们需要添加静态文件中间件。程序集Microsoft.AspNetCore.StaticFiles中提供了此中间件。我们不需要安装此程序集,因为它是Microsoft.AspNetCore.All 元包的一部分。我们可以使用扩展方法UseStaticFiles将ASP.NET Core配置为提供静态文件。

     如下所示,Startup.cs在app.run之前注册app.UseStaticFiles。

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                app.UseStaticFiles();
                app.Run(async (context) =>
                {
                    await context.Response.WriteAsync("Hello World!");
                });
            }
    }

    app.Run是终止中间件。 因此,如果将UseStaticFiles放置在app.Run之后,它将不会执行。

    静态文件在哪里

    按照约定,静态文件存储在根目录(wwwroot)文件夹中。 我们可以根据需要更改此设置。

    静态文件和安全性

    静态文件中间件不会检查用户是否有权查看文件。如果只希望授权用户访问文件,则必须将文件存储在wwwroot文件夹之外。 然后,我们可以使用控制器操作并返回FileResult来提供文件。

    UseStaticFile是终止中间件静态文件是终止中间件。 如果找到文件,它将返回文件并终止请求管道。仅当找不到所需资源时,它才会调用下一个中间件

  • 相关阅读:
    响应式网页设计初探
    karma 启动提示PhantomJS not found on PATH
    Vuex 拾遗
    cStringIO 实现指定大小的字符串缓存
    javascript 计算文件MD5 浏览器 javascript读取文件内容
    springmvc值传递
    SpringMVC
    spring事务
    spring整合JDBC
    spring-test与junit
  • 原文地址:https://www.cnblogs.com/yigegaozhongsheng/p/13899669.html
Copyright © 2011-2022 走看看