静态文件,比如HTML,CSS,JavaScript和图片之类的资源,是ASP.NET Core应用可以直接提供给客户端的。
静态文件通常位于 web root
(/wwwroot)文件夹。通常会把项目当前目录设置为Content Root,这样项目的 web root
就可以在开发阶段被确定。
public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build(); host.Run(); }
静态文件可以被保存在 web root
根目录下的任意文件夹内,并通过相对根目录路径来访问。比如在 wwwroot
文件夹下包含 css
, images
和 js
文件夹。可以通过如下URL来访问 images
子文件夹里面的图片:
http:///<app>/images//<imageFileName>
http://localhost:9189/images/banner3.svg
为了能够启用静态文件服务,你必须配置中间件来添加静态文件到管道中。静态文件中间件通过这种方式来进行配置:在项目中添加 Microsoft.AspNetCore.StaticFiles
包依赖,然后在 Startup.Configure
方法内调用 UseStaticFiles
扩展方法。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.UseStaticFiles(); }
app.UseStaticFiles();
使得位于 web root
(默认为wwwroot)下的文件可被访问。 web root
的默认目录是 wwwroot
,但可以通过 UseWebRoot
来设置 web root
。