ASP.NET Core 应用程序中的静态文件中间件的实现

在这篇文章中,我将向大家介绍,如何使用中间件组件来处理静态文件。这篇文章中,我们讨论下面几个问题:

在ASP.NET Core中,我们需要把静态文件存放在哪里?

在ASP.NET Core中 wwwroot文件夹是啥?

怎样在ASP.NET Core应用程序中,配置静态文件中间件?

UseFileServer中间件的作用是什么?

最重要的特性之一就是;几乎所有的web应用程序都应该具备直接从文件系统存取静态文件的能力。ASP.NET Core能够直接从客户端获取应用程序的静态文件,比如:HTML、Images、CSS、以及JavaScript文件。但是最重要的一点,你需要记住的是:默认情况下,在ASP.NET Core中并不能直接获取访问这些静态文件。需要额外在做一些配置,ASP.NET Core才能够直接获取访问这些静态文件。

在ASP.NET Core中,我们需要把静态文件存放在哪里?

在ASP.NET Core中,默认存放静态文件的目录或者地方就是wwwroot文件夹,并且这个wwwroot文件夹需要放在项目的根目录下面。默认情况下,这是ASP.NET Core应用程序,能直接访问静态文件的目录。但是我们可以通过使用UseWebRoot方法来改变这一默认行为。在后面的文章中,我将介绍怎么改变默认存在静态文件的目录。在这篇文章中,我们就使用wwwroot文件夹,来存放静态文件。

我们打开,之前文章中,做的例子,创建的空白的ASP.NET Core项目:

ASP.NET Core 应用程序中的静态文件中间件的实现

可以看到空白模板,建的ASP.NET Core项目是没有wwwroot文件夹的。

添加wwwroot文件夹

右键项目--选择新建文件夹—【wwwroot】,一旦我们创建了wwwroot文件夹,我们在里面添加一个html文件:MyCustom.html

ASP.NET Core 应用程序中的静态文件中间件的实现

在HTML文件中,加上这句代码:

ASP.NET Core 应用程序中的静态文件中间件的实现

现在让我们来运行程序,输入这个地址::51519/MyCustom.html

ASP.NET Core 应用程序中的静态文件中间件的实现

你可以看到,并没有得到我们想要的输出结果,页面上显示的是我们在Configure方法中,使用Run扩展方法,输出的结果:也就是Get One GetTwo

ASP.NET Core 应用程序中的静态文件中间件的实现

我们之所以没有得到想要的结果:是因为在请求处理管道中没有任何一个中间件,可以处理静态文件。

配置静态文件中间件

ASP.NET Core中,提供了一个UseStaticFiles中间件,它可以用来处理静态文件。我们来修改一下Configure方法,添加这个中间件:

ASP.NET Core 应用程序中的静态文件中间件的实现

现在运行程序,输出刚才的地址,就能得到想要的输出结果了。

ASP.NET Core 应用程序中的静态文件中间件的实现

设置默认页

大多数应用程序,都有一个默认的页面,例如:index.html或者default.html,作为它的启动页面,启动页面就是用户访问程序的根路径的时候看到的页面。例如:如果你有一个默认的index.html页面,那么不管什么时候用户访问你的网站根路径的时候,看到的都是这个页面。

现在我们在wwwroot文件夹下,添加一个index.html文件:

ASP.NET Core 应用程序中的静态文件中间件的实现

写上这句代码:

ASP.NET Core 应用程序中的静态文件中间件的实现

现在运行程序,访问根路径::51519/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxpgf.html