ASP.NET Core 中的 wwwroot 文件夹

这篇具有很好参考价值的文章主要介绍了ASP.NET Core 中的 wwwroot 文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在本文中,我将讨论ASP.NET Core应用程序中的 wwwroot 文件夹。请阅读我们之前讨论过ASP.NET Core 请求处理管道的文章。在本文的最后,您将了解 wwwroot 文件夹及其需求以及如何在 ASP.NET Core 应用程序中进行配置。

ASP.NET Core 中的 wwwroot 文件夹是什么?

默认情况下,ASP.NET Core 应用程序中的 wwwroot 文件夹被视为 webroot 文件夹,并且此文件夹或目录应该存在于根项目文件夹中。在 ASP.NET Core 应用程序中,静态文件可以存储在 webroot 文件夹下的任何文件夹中,并且可以使用该根目录的相对路径进行访问。

在 ASP.NET Core 应用程序中添加 wwwroot (webroot) 文件夹:

当您使用 Web 和 MVC 模板创建 ASP.NET Core Web 应用程序时,默认情况下会在根项目文件夹中创建此文件夹 (wwwroot)。但是,如果您使用 Empty 模板创建新的 .NET Core 应用程序,则默认情况下,Visual Studio 不会创建此文件夹。

当我们从头开始讨论所有内容时,让我们使用 Empty Project 模板创建一个 ASP.NET Core 应用程序,然后了解如何在其中添加 wwwroot 文件夹。

创建 ASP.NET Core 应用程序:

首先,使用空项目模板创建一个名为“FirstCoreWebApplication”的新 ASP.NET Core 应用程序。应使用以下结构创建项目。

ASP.NET Core 中的 wwwroot 文件夹

如上图所示,我们的应用程序中没有名为 wwwroot 的文件夹。

在 ASP.NET Core 中添加 wwwroot (webroot) 文件夹:

为了添加 wwwroot 文件夹,右键单击项目,然后选择 add => new folder 选项,然后将文件夹名称提供为 wwwroot。创建文件夹后,请查看文件夹符号,如下所示。

ASP.NET Core 中的 wwwroot 文件夹

 

wwwroot (webroot) 文件夹将包含在 ASP.NET Core 中的内容:

在早期的 ASP.NET 应用程序中,可以从项目根文件夹或其下的任何其他文件夹中提供静态文件。但是这在 ASP.NET Core 中已经改变了。现在,只有那些存在于 webroot 中的文件 - wwwroot 文件夹或其下的任何子文件夹可以通过 HTTP 请求提供服务。默认情况下,所有其他文件都被阻止并且无法提供。但是,如果您愿意,您也可以更改此默认行为。

通常,wwwroot 文件夹内应该有不同类型的静态文件(如 JavaScript、CSS、图像、库脚本等)的单独文件夹,如下所示:

ASP.NET Core 中的 wwwroot 文件夹

现在,您可以使用基本 URL 和文件名访问静态文件,例如 CSS、js、lib。例如,可以通过https://localhost:<port>/js/site.js访问 js 文件夹中的上述 site.js 文件

注意:为了提供静态文件,您需要在 Startup.cs 文件的 'Configure()' 方法中包含app.UseStaticFiles() 中间件组件。如果目前还不清楚,请不要担心,我们将在下一篇文章中通过示例讨论有关静态文件中间件的所有内容。

我们可以重命名 wwwroot 文件夹吗?

是的。您可以根据自己的选择将 wwwroot 文件夹重命名为任何其他名称,并将其设置为 webroot,同时在 Program.cs 文件中准备托管环境。

例如,让我们将 wwwroot 文件夹重命名为“MyWebRoot”文件夹。将 wwwroot 文件夹重命名为 MyWebRoot 后,需要在 Program 类的 Main() 方法中调用 UseWebRoot() 方法将 MyWebRoot 文件夹配置为 webroot 文件夹,如下所示。

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>().UseWebRoot("MyWebRoot");
            });
}

完成上述更改后,现在 MyWebRoot 文件夹将充当您的应用程序的 Webroot 文件夹,并且可以为 HTTP 请求的静态文件提供服务。

在下一篇文章中,我将讨论如何使用静态文件中间件 组件在 ASP.NET Core 中处理静态文件。在这里,在本文中,我尝试解释ASP.NET Core应用程序中的 wwwroot 文件夹。希望本文能帮助您了解 ASP.NET Core 应用程序中的 wwwroot 文件夹。 文章来源地址https://www.toymoban.com/news/detail-441063.html

到了这里,关于ASP.NET Core 中的 wwwroot 文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .NET 8 Preview 4 中的 ASP.NET Core 更新

    作者:Daniel Roth - Principal Program Manager, ASP.NET 翻译:Alan Wang 排版:Alan Wang .NET 8 Preview 4 现已可用,并包括了许多对 ASP.NET Core 的新改进。 以下是本预览版本中的新内容摘要: Blazor 使用 Blazor 组件进行流式渲染 使用 Blazor SSR 处理表单提交 在 Blazor 中路由到命名元素 Webcil 为 Bl

    2024年02月12日
    浏览(52)
  • ASP.NET Core 中的 Razor Pages

    Razor Pages 是基于页面的 ASP.NET Core Web App 架构。 相比 MVC 模式,Razor Pages的生产效率更快。 Razer Pages 需要两个中间件: builder…Services.AddRazorPages 添加 Razor Pages services app.MapRazorPages 添加 Razor Pages endpoints .cshtml 与 .cshtml.cs 在最简单的页面中: 看起来与 MVC 的页面差不多,但特别之

    2024年02月09日
    浏览(36)
  • ASP.NET Core 中的 Dependency injection

    依赖注入 (Dependency Injection,简称DI)是为了实现 各个类之间的依赖 的 控制反转 (Inversion of Control,简称IoC )。 ASP.NET Core 中的Controller 和 Service 或者其他类都支持依赖注入。 依赖注入术语中, Service 是一个为其他对象提供服务的类 **。 Service 不是一个Web Service,与Web Serv

    2024年02月11日
    浏览(39)
  • PowerShell 远程调用net share共享文件夹

    要在远程计算机上使用 PowerShell 创建或管理共享文件夹,你可以使用  New-SmbShare  或  Get-SmbShare  命令。下面是一个示例,展示如何远程调用  New-SmbShare  命令来创建共享文件夹: 请将  远程计算机的 IP 地址或主机名  替换为你要远程执行命令的计算机的实际 IP 地址或主机

    2024年01月25日
    浏览(35)
  • ASP.NET Core 中的两种 Web API

    ASP.NET Core 有两种创建 RESTful Web API 的方式: 基于 Controller,使用完整的基于ControllerBase的基类定义接口endpoints。 基于 Minimal APIs,使用Lambda表达式定义接口 endpoints。 基于 Controller 的 Web API 可以使用构造函数注入,或者属性注入,遵循面向对象模式。 基于 Minimal APIs 的 Web API 通

    2024年02月09日
    浏览(45)
  • 【java】删除文件夹及文件夹中的所有文件

    删除指定文件夹及文件夹中的所有文件。 JDK 1.8 在JDK 8中,可以使用java.nio.file.Files和java.nio.file.Path类来删除一个文件夹及其中的所有文件和子文件夹。具体代码如下所示: 在上述代码中,请将 your-directory-path 替换为要删除的目录路径。程序首先检查指定路径是否是一个目录,

    2024年02月11日
    浏览(105)
  • .net6.0引用的dll放置单独的文件夹

    .net6.0 采用原有的设置方法不起作用 http://www.dedeyun.com/it/csharp/104076.html 需要在App.xaml.cs文件中加入以下代码 https://9to5answer.com/using-an-absolute-path-in-probing-privatepath

    2024年02月12日
    浏览(35)
  • asp.net core在发布时排除配置文件

    使用命令发布 dotnet restore dotnet publish -c Release -r win-x64 -o \\\"D:services\\\"  这样发布总是是将配置文件覆盖  这时候打开项目.csproj新增配置文件

    2024年04月24日
    浏览(38)
  • 安全机密管理:Asp.Net Core中的本地敏感数据保护技巧

    在我们开发过程中基本上不可或缺的用到一些敏感机密数据,比如 SQL 服务器的连接串或者是 OAuth2 的 Secret 等,这些敏感数据在代码中是不太安全的,我们不应该在源代码中存储密码和其他的敏感数据,一种推荐的方式是通过 Asp.Net Core 的 机密管理器 。 在 ASP.NET Core 中,机密

    2024年04月25日
    浏览(43)
  • 【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案

    ​         经常逛github找优秀的.NET项目看,看到github上的项目的层级有src test,sln放在外层。如下图:  发现自己再Visaul Studio新建的项目即使添加了src和test,然后基于文件夹下新建项目,物理路径上也不是这样的结构。如图  物理路径下依然和sln是平级状态。 全程新建项目通

    2024年02月05日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包