您的位置:首页 > 房产 > 家装 > 张掖seo_网站毕业设计模板_长沙搜索排名优化公司_近期时政热点新闻20条

张掖seo_网站毕业设计模板_长沙搜索排名优化公司_近期时政热点新闻20条

2024/12/23 11:30:45 来源:https://blog.csdn.net/mss359681091/article/details/144243808  浏览:    关键词:张掖seo_网站毕业设计模板_长沙搜索排名优化公司_近期时政热点新闻20条
张掖seo_网站毕业设计模板_长沙搜索排名优化公司_近期时政热点新闻20条

一、结论

💢先看结论吧, MapStaticAssets 在大多数情况下可以替换 UseStaticFiles,它已针对为应用在生成和发布时了解的资产提供服务进行了优化。 如果应用服务来自其他位置(如磁盘或嵌入资源)的资产,则应使用 UseStaticFiles

 MapStaticAssets 是ASP.NET Core中的一个新功能,用于优化应用中的静态资产传递。该功能通过使用静态资产清单( manifest )来管理静态文件,从而减少不必要的网络请求,提高应用性能。

🪄功能和用法

 MapStaticAssets 的主要功能包括:
‌优化静态资产传递‌:通过使用静态资产清单, MapStaticAssets 可以确保浏览器只请求必要的文件,减少带宽使用和加载时间。
‌支持多种UI架构‌:该功能可以与 Blazor 、 Razor Pages 和 MVC 等UI架构配合使用,提供一致的性能优化。

fd42ff06bc6f475bbc37525db95bd114.jpeg

二、求证

 MapStaticAssets 可优化 ASP.NET Core 应用中静态资产的交付。

1. 如果没有 压缩 缓存 指纹 等优化措施:

  • 浏览器必须在 每个页面加载 时发出其他请求。
  • 通过网络传输的字节数 超过所需 的字节数。
  • 有时会将文件的 过时版本 提供给客户端。

2. 创建高性能 Web 应用需要优化到浏览器的资产传送,可能的优化包括

  • 在文件发生更改或浏览器清除其缓存之前,提供一次给定资产。 设置 ETag 标头。
  • 更新应用后,阻止浏览器使用旧资产或过时资产。 设置上次修改的标头。
  • 设置正确的 缓存标头。
  • 使用 缓存中间件。
  • 尽可能提供资产的 压缩 版本。
  • 使用 CDN 为离用户更近的资产提供服务。
  • 最大程度地减少提供给浏览器的资产大小, 此优化不包括缩小。

🎯 MapStaticAssets 是一项新功能,用于优化应用中静态资产的交付。 它旨在处理所有 UI 框架,包括 Blazor、Razor、Pages 和 MVC。 它通常是一个下降的替代方法 UseStaticFiles:

var builder = WebApplication.CreateBuilder(args);builder.Services.AddRazorPages();var app = builder.Build();if (!app.Environment.IsDevelopment())
{app.UseExceptionHandler("/Error");app.UseHsts();
}app.UseHttpsRedirection();app.UseRouting();app.UseAuthorization();+app.MapStaticAssets();
-app.UseStaticFiles();
app.MapRazorPages();app.Run();

 MapStaticAssets 的运作方式是结合生成和发布时过程来收集应用中所有静态资源的信息。 然后,运行时库会利用此信息有效地向浏览器提供这些文件。

但是, MapStaticAssets 在大多数情况下可以替换 UseStaticFiles,它已针对为应用在生成和发布时了解的资产提供服务进行了优化。 如果应用服务来自其他位置(如磁盘或嵌入资源)的资产,则应使用  UseStaticFiles 。

 MapStaticAssets 提供了以下  UseStaticFiles  没有的好处:

  • 为应用中的所有资产生成时间压缩:
    • 在开发期间 gzip,在发布期间 gzip + brotli
    • 所有资产都经过压缩,目标是将资产大小降到最低。
  • 基于内容的 ETags:每个资源的 Etags 都是内容的 SHA-256 哈希的 Base64 编码字符串。 这可确保浏览器仅在文件内容发生更改时重新下载文件。

🆚下表显示了默认的 Razor Pages 模板中 CSS JS 文件的原始大小和压缩大小:

文件原始压缩% 缩减
bootstrap.min.css16317.589.26%
jquery.js89.62868.75%
bootstrap.min.js78.52074.52%
总计331.165.580.20%

🆚下表显示了使用 Fluent UI Blazor 组件库 的原始大小和压缩大小:

文件原始压缩% 缩减
fluent.js3847380.99%
fluent.css941188.30%
总计4788482.43%

总共 478 KB 未压缩到 84 KB 压缩。

🆚下表显示了使用 MudBlazor Blazor 组件库的原始大小和压缩大小:

文件原始压缩约简
MudBlazor.min.css54137.593.07%
MudBlazor.min.js47.49.280.59%
总计588.446.792.07%

使用 MapStaticAssets 时自动进行优化。 添加或更新库(例如使用新的 JavaScript 或 CSS)时,资产将作为生成的一部分进行优化。 优化对于可具有较低带宽或不可靠的连接的移动环境尤其有利。

有关新的文件传递功能的详细信息,请参阅以下资源:

  • ASP.NET Core 中的静态文件
  • ASP.NET Core Blazor 静态文件

在服务器上启用动态压缩与使用 MapStaticAssets

在服务器上,与动态压缩相比, MapStaticAssets  具有以下优势:

  • 更简单,因为没有特定于服务器的配置。
  • 性能更高,因为资产在生成时被压缩。
  • 允许开发人员在生成过程中花费额外的时间,以确保资产的大小达到最小。

🆚请查看下表,它将 MudBlazor 压缩与 IIS 动态压缩和 MapStaticAssets 进行了比较:

IIS gzipMapStaticAssetsMapStaticAssets 减少
≅ 9037.559%

cc7a1cfac5a741129f7395855cd8a285.jpeg

关注不迷路~~💕

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com