Installation
Ein Paket, eine optionale Service-Registrierung.
Paket installieren#
dotnet add package Deja
Deja hat Multi-Targeting für net8.0, net9.0 und net10.0
und funktioniert sowohl mit Blazor WebAssembly als auch mit Blazor Server. Es hat keine
Drittanbieter-Abhängigkeiten.
Cache registrieren (empfohlen)#
AddDeja() registriert den gemeinsamen Query-Cache. Es ist Opt-in: Auch ohne
funktioniert alles, aber Queries mit Key teilen ihre Ergebnisse dann nicht über
Komponenten hinweg.
using Deja;
builder.Services.AddDeja(options =>
{
options.DefaultStaleTime = TimeSpan.FromSeconds(10);
options.DefaultCacheTime = TimeSpan.FromMinutes(5);
});Die gezeigten Optionen sind die Konfiguration dieser Seite selbst. Jede Eigenschaft hat einen sinnvollen Standardwert — siehe DejaOptions für die vollständige Liste.
AddDeja() registriert DejaClient bewusst als Scoped:
ein Cache pro Browser-Tab auf WebAssembly, einer pro User-Circuit auf dem Server. Es auf
Blazor Server als Singleton neu zu registrieren, würde die gecachten API-Antworten eines
Users mit allen anderen verbundenen Usern teilen — ein Datenleck, kein Performance-Gewinn.
Using hinzufügen#
@using DejaVon der Komponenten-Basisklasse erben#
Komponenten, die Queries oder Mutations besitzen, erben von DejaComponentBase,
das sich an den deklarierten Zustand anhängt und die Komponente neu rendert, wenn er sich
ändert:
@inherits DejaComponentBaseWeiter geht's mit dem Schnellstart.