The 10-Day .Net Aspire Challenge – Day 6: Redis Cache

The.Net Aspire framework is used to develop cloud and production-ready distributed applications. It consists of components to handle cloud-native concerns such as Redis, Postgres etc. The HTML or any static content can be cached as well in a web app or a Blazer app. The solution structure is divided into the following projects: DotnetAspireChallenge.Web, Dotnet aspire.AppHost and Dotnet Aspire.Web.


This content originally appeared on HackerNoon and was authored by Sukhpinder Singh

Step-by-step guide on how to use the .Net Aspire Redis Cache component in Visual Studio.

Introduction

.Net Aspire framework is used to develop cloud and production-ready distributed applications. It consists of components to handle cloud-native concerns, such as Redis, Postgres, etc.

Prerequisites

Objectives

Learn how to create a starter project using .Net Aspire with the Redis Cache.

Github Sample: The solution structure is divided into the following projects

  • DotnetAspireChallenge.ApiService
  • DotnetAspireChallenge.AppHost
  • DotnetAspireChallenge.ServiceDefaults
  • DotnetAspireChallenge.Web

Getting Started

Step 1: Install the following NuGet package

Install the following Nuget package into the subsequent project “DotnetAspireChallenge.AppHost

dotnet add package Aspire.Hosting.Oracle

In the above project, register a server database and consume the Oracle connection using the following code.

```csharp
var cache = builder.AddRedis("cache");

builder.AddProject<Projects.DotnetAspireChallenge_Web>("webfrontend")
    .WithExternalHttpEndpoints()
    .WithReference(cache);
### Step 2: Install another NuGet package

Install the following Nuget package into the subsequent project “**DotnetAspireChallenge.ApiService**”

dotnet add package Aspire.StackExchange.Redis.DistributedCache

then register the context into the Program.cs file as follows

csharp builder.AddRedisDistributedCache("cache");

To add additional connection string properties using the JSON syntax

json { "Aspire": { "StackExchange": { "Redis": { "ConfigurationOptions": { "ConnectTimeout": 5000, "ConnectRetry": 3 } } } } }

Congratulations..!! You’ve successfully integrated the Redis Cache component into the .Net Aspire project.

### Output Cache

The HTML or any static content can be cached as well in a web app or a Blazer app.

csharp // Add the output cache builder.AddRedisOutputCache();

// Build the app
var app = builder.Build();

// Add the middleware
app.UseOutputCache();
To cache a razor page, use the “OutputCache” attribute as follows

csharp @page "/" @attribute [OutputCache(Duration = 10)]

If your project requires to cache the response of APIs, you can use the same “OutputCache” attribute as follows

csharp 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 Project

GitHub - ssukhpinder/DotnetAspireChallenge: 10 Day .Net Aspire Challenge

More Cheatsheets

Cheat Sheets — .Net

C# Programming🚀

Thank you for being a part of the C# community! Before you leave:

Follow us: Youtube | X | LinkedIn | Dev.to Visit our other platforms: GitHub More content at C# Programming


This content originally appeared on HackerNoon and was authored by Sukhpinder Singh


Print Share Comment Cite Upload Translate Updates
APA

Sukhpinder Singh | Sciencx (2024-09-03T16:32:13+00:00) The 10-Day .Net Aspire Challenge – Day 6: Redis Cache. Retrieved from https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/

MLA
" » The 10-Day .Net Aspire Challenge – Day 6: Redis Cache." Sukhpinder Singh | Sciencx - Tuesday September 3, 2024, https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/
HARVARD
Sukhpinder Singh | Sciencx Tuesday September 3, 2024 » The 10-Day .Net Aspire Challenge – Day 6: Redis Cache., viewed ,<https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/>
VANCOUVER
Sukhpinder Singh | Sciencx - » The 10-Day .Net Aspire Challenge – Day 6: Redis Cache. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/
CHICAGO
" » The 10-Day .Net Aspire Challenge – Day 6: Redis Cache." Sukhpinder Singh | Sciencx - Accessed . https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/
IEEE
" » The 10-Day .Net Aspire Challenge – Day 6: Redis Cache." Sukhpinder Singh | Sciencx [Online]. Available: https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/. [Accessed: ]
rf:citation
» The 10-Day .Net Aspire Challenge – Day 6: Redis Cache | Sukhpinder Singh | Sciencx | https://www.scien.cx/2024/09/03/the-10-day-net-aspire-challenge-day-6-redis-cache/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.