微信网站开发多少钱,谷歌首页,深圳之窗手机版,淮安网站seo一、结论
#x1f4a2;先看结论吧#xff0c; MapStaticAssets 在大多数情况下可以替换 UseStaticFiles#xff0c;它已针对为应用在生成和发布时了解的资产提供服务进行了优化。 如果应用服务来自其他位置#xff08;如磁盘或嵌入资源#xff09;的资产#xff0c;则应…一、结论
先看结论吧 MapStaticAssets 在大多数情况下可以替换 UseStaticFiles它已针对为应用在生成和发布时了解的资产提供服务进行了优化。 如果应用服务来自其他位置如磁盘或嵌入资源的资产则应使用 UseStaticFiles MapStaticAssets 是ASP.NET Core中的一个新功能用于优化应用中的静态资产传递。该功能通过使用静态资产清单 manifest 来管理静态文件从而减少不必要的网络请求提高应用性能。
功能和用法 MapStaticAssets 的主要功能包括 优化静态资产传递通过使用静态资产清单 MapStaticAssets 可以确保浏览器只请求必要的文件减少带宽使用和加载时间。 支持多种UI架构该功能可以与 Blazor 、 Razor Pages 和 MVC 等UI架构配合使用提供一致的性能优化。 二、求证 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% 关注不迷路~~