What are ASP.NET Core Static Web Assets?

HostBuilder.ConfigureWebHostDefaults()中发生了很多隐藏的魔术(最终称为ConfigureWebDefaults)。 我想更好地了解它,因为我找不到有关它的文档。

此代码似乎正在加载一些静态文件。什么是静态网络资产,为什么我们需要它们?这与将静态资产嵌入Blazor的库有关吗?

1
2
3
4
5
6
7

builder.ConfigureAppConfiguration((ctx, cb) =>
{
    if (ctx.HostingEnvironment.IsDevelopment())
    {
        StaticWebAssetsLoader.UseStaticWebAssets(ctx.HostingEnvironment, ctx.Configuration);
    }
});

静态Web资产是可以从Razor类库(RCL)获得的静态文件:

An RCL may require companion static assets that can be referenced by the consuming app of the RCL. ASP.NET Core allows creating RCLs that include static assets that are available to a consuming app.

UseStaticWebAssets使用清单文件(如果未通过IConfiguration进行设置,则为{environment.ApplicationName}.StaticWebAssets.xml)插入其他文件提供程序(StaticWebAssetsFileProvider的实例),以确定从路径到基本路径的映射列表。

例如,当使用ASP.NET Core Identity UI RCL时,应用程序的清单文件看起来像这样:

1
2
3

<StaticWebAssets Version="1.0">
    <ContentRoot BasePath="/Identity" Path="\\path\\to\\.nuget\\packages\\microsoft.aspnetcore.identity.ui\\3.0.0\\staticwebassets\\V4" />
</StaticWebAssets>

所有这些都以为IWebHostEnvironment.WebRootFileProvider设置的CompositeFileProvider结尾。该复合提供程序执行以下两项操作:

  • 照常处理

    wwwroot/

    静态文件(假定默认配置)。

  • 将从

    wwwroot/Identity

    请求的所有文件委派到Identity UI的提取的NuGet包内容文件夹。

  • 正如您问题中的代码片段所示,这仅在Development环境中运行时才会发生。发布您的应用程序时,有问题的文件会被复制到wwwroot文件夹中,就好像它们是您应用程序的一部分一样。

什么是ASP.NET Core静态Web资产?相关推荐

  1. 2022年8月10日:使用 ASP.NET Core 为初学者构建 Web 应用程序--使用 ASP.NET Core 创建 Web UI(没看懂需要再看一遍)

    ASP.NET Core 支持使用名为 Razor 的本地模板化引擎创建网页. 本模块介绍了如何使用 Razor 和 ASP.NET Core 创建网页. 简介 通过在首选终端中运行以下命令,确保已安 ...

  2. ASP.NET Core和Web API:用于管理异常和一致响应的自定义包装器

    目录 介绍 为什么? 怎么做? VMD.RESTApiResponseWrapper Nuget软件包 安装及使用 ASP.NET Core集成 ASP.NET Web API集成 样本响应输出 定义 ...

  3. C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)6 -将项目部署到IIS,及常见错误解决方案

    C#编写ASP.NET Core的Web API并部署到IIS上的详细教程(API用于准确获取Word/Excel/PPT/PDF的页数)6 -将项目部署到IIS,及常见错误解决方案 1.前言 2.安 ...

  4. ASP.NET Core静态文件处理源码探究

    前言 静态文件(如 HTML.CSS.图像和 JavaScript)等是Web程序的重要组成部分.传统的ASP.NET项目一般都是部署在IIS上,IIS是一个功能非常强大的服务器平台,可以直接处理接收 ...

  5. 细说ASP.NET Core静态文件的缓存方式

    一.前言 我们在优化Web服务的时候,对于静态的资源文件,通常都是通过客户端缓存.服务器缓存.CDN缓存,这三种方式来缓解客户端对于Web服务器的连接请求压力的. 本文指在这三个方面,在ASP.NET ...

  6. ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用

    在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...

  7. ASP.NET Core开源Web应用程序框架ABP

    "作为面向服务架构(SOA)的一个变体,微服务是一种将应用程序分解成松散耦合服务的新型架构风格. 通过细粒度的服务和轻量级的协议,微服务提供了更多的模块化,使应用程序更容易理解,开发,测试, ...

  8. 使用angular4和asp.net core 2 web api做个练习项目(四)

    第一部分: http://www.cnblogs.com/cgzl/p/7755801.html 第二部分: http://www.cnblogs.com/cgzl/p/7763397.html 第三 ...

  9. ASP.NET Core环境Web Audio API+SingalR+微软语音服务实现web实时语音识别

    处于项目需要,我研究了一下web端的语音识别实现.目前市场上语音服务已经非常成熟了,国内的科大讯飞或是国外的微软在这块都可以提供足够优质的服务,对于我们工程应用来说只需要花钱调用接口就行了,难点在于整 ...

最新文章

  1. properties文件如何注解多行加#
  2. arm-linux内核编译过程小结
  3. 网站压力测试工具webbench简介、安装、使用
  4. Python基础教程:自定义函数
  5. G6 图可视化引擎——入门教程——绘制 Tutorial 案例
  6. Lua源码分析 - 基础篇 - Lua源码的结构和架构图(01)
  7. Caused by: android.os.NetworkOnMainThreadException错误解决办法
  8. 伦巴时间步的动作要领_军训动作要领已到,请签收
  9. 她16岁因汶川地震改志学医,仅27岁当上浙大博导!她说:科研是“止不住想念到失眠的对象”...
  10. windows route netstat arp命令
  11. 区块链学习笔记:DAY05 如何使用公有云区块链服务
  12. 编写高质量JS代码上
  13. php diy,PHP DIY 系列------基础篇:1. PSR
  14. c语言错误 cout不明确,C++ error: cout 不明确的符号
  15. 计算机无法启动安装程序,安装Win10系统提示安装程序无法正常启动怎么办
  16. 黑鲨helo支持html吗,黑鲨Helo的实用功能有哪些 黑鲨Helo的使用技巧
  17. win7下搭载ubuntu双系统,独立引导
  18. 国内VR体验馆发展现状及未来前景
  19. python文件处理方式
  20. delphi XE的字符串处理

热门文章

  1. QT练习9 Dialog学习
  2. 洛谷P2587 [ZJOI2008] 泡泡堂
  3. wepack环境配置1之node的安装
  4. 常见浏览器兼容性问题与解决方案?
  5. 输出日志实例改成用Spring的AOP来实现
  6. javascript:with的用法以及延长作用域链
  7. Android 使用XmlPullParser解析xml
  8. 交换网络中的sniffer讨论-基于交换网络的ARP spoofing sniffer
  9. vista任务栏透明_在Windows XP中获取Vista任务栏缩略图预览
  10. 如何从特定位置开始分享YouTube视频