10-дневный .Net Aspire Challenge — День 6: Redis Cache
3 сентября 2024 г.Пошаговое руководство по использованию компонента .Net Aspire Redis Cache в Visual Studio.
Введение
.Net Aspire Framework используется для разработки облачных и готовых к производству распределенных приложений. Он состоит из компонентов для обработки облачных задач, таких как Redis, Postgres и т. д.
Предпосылки
- Установить.Net 8
- УстановитьVisual Studio 2022версия 17 или выше
- Рабочая нагрузка .Net Aspire
- Среда выполнения контейнера, напримерРабочий стол Docker10-дневный челлендж .Net Aspire
Цели
Узнайте, как создать начальный проект с использованием .Net Aspire с Redis Cache.
Образец Github: Структура решения разделена на следующие проекты
- DotnetAspireChallenge.ApiService
- DotnetAspireChallenge.AppHost
- DotnetAspireChallenge.ServiceDefaults
- DotnetAspireChallenge.Web
Начиная
Шаг 1: Установите следующий пакет NuGet
Установите следующий пакет Nuget в последующий проект «DotnetAspireChallenge.AppHost”
dotnet add package Aspire.Hosting.Oracle
В приведенном выше проекте зарегистрируйте базу данных сервера и используйте соединение Oracle, используя следующий код.
var cache = builder.AddRedis("cache");
builder.AddProject<Projects.DotnetAspireChallenge_Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithReference(cache);
Шаг 2: Установите еще один пакет NuGet
Установите следующий пакет Nuget в последующий проект «DotnetAspireChallenge.ApiService”
dotnet add package Aspire.StackExchange.Redis.DistributedCache
затем зарегистрируйте контекст в файле Program.cs следующим образом
builder.AddRedisDistributedCache("cache");
Чтобы добавить дополнительные свойства строки подключения с использованием синтаксиса JSON
{
"Aspire": {
"StackExchange": {
"Redis": {
"ConfigurationOptions": {
"ConnectTimeout": 5000,
"ConnectRetry": 3
}
}
}
}
}
Поздравляем!..!! Вы успешно интегрировали компонент Redis Cache в проект .Net Aspire.
Кэш вывода
HTML или любой статический контент можно также кэшировать в веб-приложении или приложении Blazer.
// Add the output cache
builder.AddRedisOutputCache();
// Build the app
var app = builder.Build();
// Add the middleware
app.UseOutputCache();
Чтобы кэшировать страницу Razor, используйте атрибут «OutputCache» следующим образом
@page "/"
@attribute [OutputCache(Duration = 10)]
Если вашему проекту требуется кэшировать ответ API, вы можете использовать тот же атрибут «OutputCache» следующим образом:
app.MapGet("/products/{ProdId}", (int ProdId) => $"The product ID is {ProdId}.").CacheOutput();
app.MapGet("/products/{ProdId}", [OutputCache] (int ProdId) => $"The product ID is {ProdId}.");
Проект Github
GitHub — ssukhpinder/DotnetAspireChallenge: 10-дневный вызов .Net Aspire Challenge
Еще шпаргалок
Шпаргалки — .Net
Программирование на C#🚀
Спасибо, что вы являетесь частью сообщества C#! Прежде чем вы уйдете:
Подписывайтесь на нас:Ютуб | Х | LinkedIn | Dev.toПосетите наши другие платформы:GitHubБольше контента наПрограммирование на C#
Оригинал