威海做网站的公司有哪些,河南省住房和城乡建设厅电话,iis打开wordpress,怀宁县住房和城乡建设局网站前言
云原生应用程序通常需要各种类型的可扩展缓存解决方案来提高性能。.NET Aspire 组件简化了连接到流行的缓存服务#xff08;例如 Redis#xff09;的过程#xff0c;今天小编就为大家简单介绍一下如何使用 .NET Aspire 组件实现缓存。
本文的内容概要#xff1a;
创…前言
云原生应用程序通常需要各种类型的可扩展缓存解决方案来提高性能。.NET Aspire 组件简化了连接到流行的缓存服务例如 Redis的过程今天小编就为大家简单介绍一下如何使用 .NET Aspire 组件实现缓存。
本文的内容概要
创建一个设置为使用 .NET Aspire 的基本 ASP.NET Core 应用程序。添加.NET Aspire组件以连接到Redis并实现缓存。配置 .NET Aspire 组件以满足特定要求。
环境准备
要使用 .NET Aspire需要在本地安装以下软件
.NET 8.0.NET Aspire 工作负载使用 Visual Studio 安装程序使用dotnet workload install aspire命令Docker 桌面集成开发环境 (IDE) 或代码编辑器例如Visual Studio 2022 预览版 17.9 或更高版本可选Visual Studio 代码可选
有关详细信息请参阅.NET Aspire 设置和工具。
举例示范
1.新建一个工程文件
在 Visual Studio 顶部导航到“文件” “新建” “项目…”。在对话框窗口中在项目模板搜索框中输入.NET Aspire 然后选择.NET Aspire Starter Application。选择下一步。在“配置新项目”屏幕上
输入项目名称AspireRedis。将其余值保留为默认值然后选择“下一步”。
在附加信息屏幕上
选择.NET 8.0 。取消选中“使用 Redis 进行缓存”最后选择创建。
Visual Studio 创建了一个新的 .NET Aspire 解决方案其中包含以下项目
AspireRedis.Web 具有默认 .NET Aspire 配置的 Blazor UI 项目。AspireRedis.ApiService 具有默认 .NET Aspire 配置的最小 API可为前端提供数据。AspireRedis.AppHost 一个协调器项目旨在连接和配置应用程序的不同项目和服务。AspireRedis.ServiceDefaults 一个 .NET Aspire 共享项目用于管理解决方案中与弹性、服务发现和遥测相关的项目中重复使用的配置。
2.使用输出缓存配置 UI
将.NET Aspire StackExchange Redis 输出缓存组件包添加到您的AspireStorage应用程序中
dotnet add package Aspire.StackExchange.Redis.OutputCaching --prerelease1在Blazor 项目的Program.csAspireRedis.Web文件中紧接着该行之后添加对AddRedisOutputCachevar builder WebApplication.CreateBuilder(args);扩展方法的调用
builder.AddRedisOutputCache(cache);2在项目的_appsettings.json文件中AspireRedis.Web添加对应的连接字符串信息
ConnectionStrings: {cache: localhost:6379
}3将 Blazor 项目的Home.razor文件的内容替换AspireRedis.Web为以下内容
page /
attribute [OutputCache(Duration 10)]PageTitleHome/PageTitleh1Hello, world!/h1Welcome to your new app on DateTime.Now该组件包含该[OutputCache]属性该属性缓存整个呈现的响应。该页面还包含一个调用DateTime.Now来帮助验证响应是否已缓存。
3.使用分布式缓存配置 API
将.NET Aspire StackExchange Redis 分布式缓存组件包添加到您的AspireRedis应用程序中
dotnet add package Aspire.StackExchange.Redis.DistributedCaching --prerelease1在Program.cs文件的顶部添加对AddRedisDistributedCache 的调用
builder.AddRedisDistributedCache(cache);2在项目的_appsettings.json文件中AspireRedis.ApiService添加对应的连接字符串信息
ConnectionStrings: {cache: localhost:6379
}3在Program.cs文件中将现有/weatherforecast端点代码替换为以下内容
app.MapGet(/weatherforecast, async (IDistributedCache cache)
{var cachedForecast await cache.GetAsync(forecast);if (cachedForecast is null){var summaries new[] { Freezing, Bracing, Chilly, Cool, Mild, Warm, Balmy, Hot, Sweltering, Scorching };var forecast Enumerable.Range(1, 5).Select(index new AspireRedis.WeatherForecast(DateOnly.FromDateTime(DateTime.Now.AddDays(index)),Random.Shared.Next(-20, 55),summaries[Random.Shared.Next(summaries.Length)])).ToArray();await cache.SetAsync(forecast, Encoding.UTF8.GetBytes(JsonSerializer.Serialize(forecast)), new (){AbsoluteExpiration DateTime.Now.AddSeconds(10)}); ;return forecast;}return JsonSerializer.DeserializeIEnumerableAspireRedis.WeatherForecast(cachedForecast);
})
.WithName(GetWeatherForecast);4.配置应用程序宿主项目
更新项目的Program.csAspireRedis.AppHost文件以匹配以下代码
var builder DistributedApplication.CreateBuilder(args);var redis builder.AddRedisContainer(cache);var apiservice builder.AddProjectProjects.AspireRedis_ApiService(apiservice).WithReference(redis);builder.AddProjectProjects.AspireRedis_Web(webfrontend).WithReference(apiservice).WithReference(redis);builder.Build().Run();最后在本地运行并测试应用程序
使用以下步骤测试应用程序的缓存行为
通过按钮来使用 Visual Studio 运行应用程序F5。如果出现“启动 Docker Desktop”对话框请选择“是”启动该服务。.NET Aspire Dashboard 在浏览器中加载并列出 UI 和 API 项目。
测试输出缓存
在项目页面的webfrontend行中单击Endpointslocalhost列中的链接以打开应用程序的 UI。该应用程序将在主页上显示当前时间。每隔几秒刷新一次浏览器即可查看输出缓存返回的同一页面。10 秒后缓存过期页面将根据更新的时间重新加载。
测试分布式缓存
导航到Blazor UI 上的“天气”页面可以加载随机天气数据表。每隔几秒刷新一次浏览器即可查看输出缓存返回的相同天气数据。10 秒后缓存过期页面将重新加载更新的天气数据。
扩展链接
Redis从入门到实践 一节课带你搞懂数据库事务
Chrome开发者工具使用教程
从表单驱动到模型驱动解读低代码开发平台的发展趋势
低代码开发平台是什么
基于分支的版本管理帮助低代码从项目交付走向定制化产品开发