Blazor Static Server Side Rendering (Static SSR)
Eintrag zuletzt aktualisiert am: 19.02.2025
Blazor Static Server Side Rendering ist ein
Webframework innerhalb von
ASP.NET Core, das es seit
.NET 8.0 (November 2023) gibt.
ASP.NET Core Model View Controller,
ASP.NET Core Razor Pages und Blazor Static Server Side Rendering sind direkt vergleichbar, denn sie erzeugen eine Multi-Page-Web-Application (
MPA) mit vollständigen Seitenrundgängen. Der Programmcode (nur C# ist möglich im modernen .NET, im klassischen
.NET Framework mit
ASP.NET MVC war auch noch
Visual Basic .NET als Alternative vorhanden) läuft auf dem
Webserver. Ein HTTP-Request geht ein, auf dem Server wird eine Klasse instanziiert, die
HTML und
CSS produziert. Bei
ASP.NET Core MVC machen diesen Job ein Controller und ein View. Bei Razor Pages spricht Microsoft von Page Model und Razor Page. Bei Blazor ist es eine
Razor Component.
Diese drei Architekturen sind sich sehr ähnlich. Die Wahl fällt hier aber leicht, denn Blazor Static Server Side Rendering ist das neuste der drei Modelle mit der fortschrittlichsten
Template-Syntax, einem echten
Komponentenmodell,
Streaming von
HTML-Inhalte aus asynchronen
Methoden in der gleichen HTTP-Antwort und Enhanced Navigation, die in einigen Fällen das Flackern der Seite im Browser verhindert.
In Blazor Static Server Side Rendering gibt es einige eingebaute
Razor Components (z.B. <InputNumber> statt <input type="number">) auf ähnlichem Abstraktionslevel wie in
ASP.NET Core MVC und mit Validierungsoption. Hinzukommt ein Datentabellensteuerelement (QuickGrid), das jedoch von Hause aus keinerlei Inline-Eingaben erlaubt und auch andere Features wie Sortieren und Blättern sind nur möglich, wenn man eine der anderen, interaktiven Blazor-Varianten (
Blazor Server,
Blazor WebAssembly, Blazor Auto-Rendering) verwendet.
Microsoft bietet unter dem Namen
Fluent UI Blazor Library
https://www.fluentui-blazor.net eine Reihe von
Steuerelementen für Blazor im Fluent Design an (z.B. Menü, Dialog, MessageBox,
Wizard, Tree View, Drag & Drop, Card, Accordion, Slider, Splitter, Rating, Autocomplete), inklusive Projektvorlagen, aber alles ohne Support und mit Einschränkungen beim statischen Blazor-Rendering. Für alle Funktionen ist auch hier eine der interaktiven Varianten von Blazor notwendig. Das in der
Fluent UI Blazor Library enthaltene, auf QuickGrid basierende
Fluent UI DataGrid hat ebenfalls keine eingebaute Eingabeunterstützung; Komponenten für Diagramme gibt es gar nicht.
Einen
WYSIWYG-Designer sucht man wieder vergeblich, einen Live-Preview innerhalb von
Visual Studio gibt es auch nicht, aber Hot Reloading existiert seit
.NET 6.0. Das Deployment auf den
ASP.NET Core-fähigen
Webserver (
ASP.NET Core muss man bei den Internet Information Services zuvor installieren!) erfolgt aus
Visual Studio heraus oder mit Kommandozeilenwerkzeugen, per
Dateisystem,
FTP oder dem für die Internet Information Services verfügbaren Webdeploy-Verfahren. Self-Hosting ist auch ganz einfach möglich, denn beim Kompilieren entsteht eine .
EXE-Datei, die den in
ASP.NET Core integrierten
Webserver Kestrel hochfährt.