Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Blazor, das Full-Stack-Web-UI-Framework, hat sich mit der Veröffentlichung von .NET 8.0 erheblich weiterentwickelt. Dieses Update bringt verschiedene Funktionen und Verbesserungen mit sich, die es Entwicklern ermöglichen, interaktive und moderne Webanwendungen mit C# und . NET.
In diesem Artikel werden wir uns mit den wichtigsten Aspekten von Blazor .NET 8.0 befassen und die neuen Rendering-Modi, Projektvorlagen, Tooling-Verbesserungen und vieles mehr erkunden.
Blazor in .NET 8.0 führt drei Render-Modi ein:
Statisches Server-Rendering: Erzeugt statisches HTML für optimale Leistung.
Interaktives Server-Rendering: Nutzt die serverseitige ASP.NET Core-Laufzeit für das anfängliche Rendering und die Interaktivität.
Eines der Highlights ist der interaktive Auto-Rendering-Modus, der das serverseitige Rendering von Inhalten mit dem anschließenden Rendering und der Interaktivität auf dem Client unter Verwendung der .NET WebAssembly-Laufzeit kombiniert. Dies führt zu einem schnelleren Start der Anwendung und macht sie zu einer attraktiven Option für Entwickler.
.NET 8.0 führt das Blazor Web App Template ein, ein einheitlicher Ausgangspunkt, der die Stärken der Hosting-Modelle Blazor Server und Blazor WebAssembly kombiniert.
Diese Vorlage enthält neue Funktionen wie statisches Server-Rendering, Streaming-Rendering, verbesserte Navigation und Formularverarbeitung. Die Konsolidierung von Projektvorlagen vereinfacht den Entwicklungsprozess.
Die traditionellen JS-Initialisierer wurden durch einen neuen Satz für Blazor Web Apps ersetzt, der eine bessere Kontrolle über Aufgaben wie die Anpassung des Ladevorgangs, Protokollierungsstufen und andere Optionen bietet. Diese Änderung verbessert die Entwicklungserfahrung und steht im Einklang mit dem Ziel der Vereinheitlichung der Hosting-Modelle in .NET 8.0.
Um eine gezieltere Berichterstattung zu ermöglichen, wurden die Anleitungen zum Prerendering und zur Integration in separate Artikel aufgeteilt. Diese Änderung zielt darauf ab, das Verständnis und die Implementierung zu vereinfachen und es den Entwicklern zu erleichtern, bewährte Verfahren zu befolgen.
Blazor Web Apps behalten nun automatisch jeden registrierten Status auf App-Ebene bei, der während des Prerenderings erstellt wurde. Dadurch wird der Persist Component State Tag Helper überflüssig, was den Prozess des Persistierens und Auslesens des Komponentenzustands vereinfacht.
.NET 8.0 bietet den Blazor-Komponenten verbesserte Funktionen für die Formularverarbeitung, einschließlich Modellbindung und Datenvalidierung. Das Framework berücksichtigt Datenvertragsattribute und gibt Entwicklern mehr Kontrolle darüber, wie Formulardaten an das Modell gebunden werden. Durch die Einführung der Fälschungssicherheit wird eine zusätzliche Sicherheitsebene für Formularübertragungen geschaffen.
Das statische Server-Rendering in Blazor .NET 8.0 bringt eine deutliche Verbesserung der Seitennavigation und der Formularverarbeitung mit sich. Bisher wurde die gesamte Seite beim Navigieren oder beim Absenden eines Formulars aktualisiert.
Mit der erweiterten Navigationsfunktion fängt Blazor die Anfrage ab und führt eine Fetch-Anfrage durch, wobei der gerenderte Antwortinhalt nahtlos in das Browser-DOM eingefügt wird. Auf diese Weise werden vollständige Seitenaktualisierungen vermieden, was zu einem schnelleren und reibungsloseren Laden der Seite führt, während ein Großteil des Seitenstatus erhalten bleibt.
Die erweiterte Navigation ist standardmäßig aktiviert, wenn das Blazor-Skript (blazor.web.js) geladen wird, und kann optional für bestimmte Formulare aktiviert werden. Die neue, verbesserte Navigations-API ermöglicht es Entwicklern, die aktuelle Seite programmatisch zu aktualisieren und bietet so noch mehr Kontrolle über die Benutzererfahrung.
Blazor .NET 8.0 führt das Streaming-Rendering ein, eine leistungsstarke Funktion, die das Benutzererlebnis für Seiten, die lang laufende asynchrone Aufgaben ausführen, verbessert. Beim Streaming-Rendering können Seiten Platzhalterinhalte rendern, während asynchrone Vorgänge ablaufen.
Nach der Fertigstellung wird der aktualisierte Inhalt über dieselbe Antwortverbindung an den Client gestreamt und nahtlos in das DOM eingefügt. Dieser Ansatz gewährleistet, dass das Hauptlayout der App schnell gerendert wird und die Seite aktualisiert wird, sobald der Inhalt verfügbar ist.
Blazor unterstützt nun das Injizieren von verschlüsselten Diensten mit dem Attribut Inject
. Schlüssel ermöglichen das Scoping von Dienstregistrierung und -nutzung in Szenarien mit Abhängigkeitsinjektion.
Die neue Eigenschaft "InjectAttribute.Key" ermöglicht es Entwicklern, den Schlüssel für den zu injizierenden Dienst festzulegen, wodurch sich neue Möglichkeiten für das Scoping von Diensten eröffnen.
Blazor .NET 8.0 führt die Möglichkeit ein, auf den aktuellen HttpContext
als kaskadierenden Parameter von einer statischen Serverkomponente zuzugreifen. Diese Erweiterung ist besonders nützlich für die Untersuchung und Änderung von Headern oder anderen Eigenschaften im Zusammenhang mit dem HTTP-Kontext.
Blazor .NET 8.0 eröffnet die Möglichkeit, Razor-Komponenten außerhalb des Kontexts einer HTTP-Anfrage zu rendern. Diese Flexibilität erlaubt es Entwicklern, Razor-Komponenten unabhängig von der ASP.NET Core-Hosting-Umgebung direkt in einem String oder Stream darzustellen.
Diese Funktion ist besonders praktisch für Szenarien, in denen die Generierung von HTML-Fragmenten, z. B. für E-Mails oder statische Website-Inhalte, erforderlich ist.
In Blazor .NET 8.0 revolutioniert die Einführung der Komponenten SectionOutlet
und SectionContent
das Content Management. Diese Komponenten ermöglichen es Entwicklern, Platzhalter in Layouts zu definieren, die später von bestimmten Seiten ausgefüllt werden.
Abschnitte können über eindeutige Namen oder Objekt-IDs referenziert werden, was Flexibilität und Wiederverwendbarkeit beim Aufbau dynamischer Weblayouts ermöglicht.
Blazor Web Apps in .NET 8.0 verfügen jetzt über eine robuste Fehlerseitenunterstützung, die es Entwicklern ermöglicht, benutzerdefinierte Fehlerseiten für die Verwendung mit der ASP.NET Core Middleware zur Ausnahmebehandlung zu definieren.
Die Standard-Fehlerseite (Components/Pages/Error.razor) bietet eine einheitliche Benutzererfahrung. Selbst bei aktivierter Interaktivität wird die Fehlerseite als statische Serverkomponente gerendert, was die Stabilität bei Ausnahmeszenarien gewährleistet.
quickGrid", die leistungsstarke Grid-Komponente, hat den experimentellen Status verlassen und ist nun integraler Bestandteil des Blazor-Frameworks in .NET 8.
Diese Komponente vereinfacht die Anzeige von Tabellendaten und bietet gleichzeitig leistungsstarke Funktionen wie Sortierung, Filterung, Paging und Virtualisierung. Erfahren Sie mehr über QuickGrid
in der ASP.NET Core Blazor QuickGrid
Dokumentation.
Blazor .NET 8.0 führt Unterstützung für Client-seitiges Routing ein, um direkt zu bestimmten HTML-Elementen auf einer Seite unter Verwendung von Standard-URL-Fragmenten zu navigieren. Durch die Angabe eines Bezeichners für ein HTML-Element mit dem Standard-id-Attribut scrollt Blazor nahtlos zu diesem Element, wenn das URL-Fragment mit dem Element-Bezeichner übereinstimmt.
Blazor .NET 8.0 verbessert kaskadierende Werte durch die Einführung von kaskadierenden Werten auf Root-Ebene, die für die gesamte Komponentenhierarchie registriert werden können. Benannte kaskadierende Werte und Abonnements für Aktualisierungsbenachrichtigungen werden jetzt unterstützt und bieten mehr Flexibilität und Kontrolle.
Der neue Parameter EmptyContent
für die Virtualize-Komponente ermöglicht es Entwicklern, Inhalte zu liefern, wenn die Komponente geladen wurde und entweder ein Element leer ist oder ItemsProviderResult<T>.TotalItemCount
ist Null.
Dies ermöglicht es den Entwicklern, intuitivere und benutzerfreundlichere Schnittstellen zu schaffen.
Blazor .NET 8.0 führt die Möglichkeit ein, Schaltkreise zu schließen, wenn keine interaktiven Serverkomponenten mehr vorhanden sind. Durch diese Optimierung werden Serverressourcen freigesetzt und die Gesamtleistung verbessert.
Darüber hinaus können Entwickler jetzt die Aktivität eingehender Schaltkreise in serverseitigen Anwendungen überwachen, indem sie die Methode CreateInboundActivityHandler
für CircuitHandler
verwenden.
Der Jiterpreter, eine neue Laufzeitfunktion in .NET 8, führt teilweise Just-in-Time (JIT) kompilierungsunterstützung bei der Ausführung mit WebAssembly. Dies führt zu einer verbesserten Laufzeit-Performance und damit zu einer reibungsloseren Interaktion mit Blazor-WebAssembly-Anwendungen für die Benutzer.
Die AOT-Kompilierung von Blazor WebAssembly verwendet nun standardmäßig WebAssembly Fixed-width SIMD und WebAssembly Exception Handling. Diese strategische Entscheidung verbessert die Laufzeitleistung erheblich und sorgt für ein effizienteres und schnelleres Nutzererlebnis.
Blazor WebAssembly nutzt jetzt Webcil, eine webfreundliche Verpackung von .NET-Assemblies. Dies gewährleistet die Kompatibilität in Umgebungen, die das Herunterladen oder die Verwendung von .dll-Dateien blockieren, und löst so die Probleme bei der Bereitstellung. Webcil ist standardmäßig für Blazor WebAssembly-Anwendungen aktiviert.
Das Debuggen von Blazor WebAssembly-Anwendungen wurde in .NET 8 vereinfacht. Der Debugger lädt jetzt Symboldaten von konfigurierten Speicherorten in den Visual Studio-Einstellungen herunter, was die Debugging-Erfahrung für Anwendungen, die NuGet-Pakete verwenden, verbessert.
Außerdem wird das Debugging jetzt in Firefox unterstützt, wobei die Konfiguration für das Remote-Debugging und die Verbindung über den .NET WebAssembly-Debugging-Proxy erforderlich ist.
Blazor WebAssembly in .NET 8.0 macht es überflüssig, die Quelle für unsichere Skripte zu aktivieren, wenn eine Inhaltssicherheitsrichtlinie festgelegt wird (CSP). Diese Verbesserung vereinfacht die Sicherheitskonfigurationen und macht es einfacher, ein robustes CSP für Blazor WebAssembly-Anwendungen durchzusetzen.
Die Einführung von ComponentBase.DispatchExceptionAsync
ermöglicht es Entwicklern, Exceptions zu verarbeiten, die außerhalb des Aufrufstapels des Lebenszyklus einer Razor-Komponente ausgelöst wurden.
Diese Funktion ermöglicht es dem Code der Komponente, Ausnahmen so zu behandeln, als ob es sich um Ausnahmen von Lebenszyklusmethoden handeln würde, wodurch ein konsistenterer und kontrollierterer Fehlerbehandlungsmechanismus gewährleistet wird.
Iron Suitevon Iron Software entwickelt, besteht aus sieben nützlichen Bibliotheken, mit denen Entwickler leistungsstarke Blazor-Anwendungen erstellen können.
Wenn Sie PDF-Funktionalität, Excel- oder CSV-Dateifunktionalität, Bild-zu-Text-Erkennung, Barcode- und QR-Code-Generierung und -Lesung sowie Zip- oder Extraktionsdateien hinzufügen möchten.
Iron Suite ist die perfekte Wahl für die Webentwicklung mit dem Blazor-WebAssembly-Hosting-Modell oder anderen Microsoft-Technologien, einschließlich der Blazor-WebAssembly-Anwendung, der Blazor-Server-Anwendung, der ASP.NET Core MVC APP, der ASP.NET Core WEB APIs oder jeder Anwendung, die in einer beliebigen Version der .NET-Laufzeitumgebung erstellt wurde.
IronPDF zum nahtlosen Erstellen, Bearbeiten und Extrahieren von Daten aus PDF-Dateien.
Die herausragende Funktion von IronPDF ist die Umwandlung HTML zu PDF, mit vollständiger Layout- und Stilbewahrung. Es ist ideal zum Erzeugen von PDFs aus Webinhalten, einschließlich Berichten, Rechnungen und Dokumentationen. Sie können HTML-Dateien, URLs oder HTML-Strings in PDF-Dateien konvertieren.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
IronOCR (Optische Zeichenerkennung) zum Extrahieren von Text aus gescannten Bildern oder PDF-Dateien, um die Zugänglichkeit von Daten zu verbessern.
IronXL für das Lesen, Schreiben und Bearbeiten von Excel-Tabellen mit Effizienz.
IronBarcode zum Erzeugen und Lesen von Strichcodes in verschiedenen Formaten, die das Kodieren und Abrufen von Daten erleichtern.
IronQR zum Erstellen und Lesen von QR-Codes mit Hilfe von Machine Learning
IronWebscraper für die Extraktion wertvoller Daten aus Websites, wodurch die Möglichkeiten webbasierter Anwendungen erweitert werden.
IronZIP zur Komprimierung und Dekomprimierung von Dateien, zur Rationalisierung der Datenspeicherung und der Übertragungsprozesse.
Erhalten Sie Zugang zur gesamten Suite zum Preis von nur zwei einzelne Produkteund maximieren so den Wert Ihrer Investition.
Egal, ob Sie mit Windows, macOS oder Linux arbeiten, Iron Suite gewährleistet die Kompatibilität zwischen (fast) alle Plattformen.
Erleben Sie eine schnelle Reise vom Download zur Produktion, mit der Möglichkeit, in nur 5 Minuten einsatzbereit zu sein.
Sie haben Zugriff auf eine ausführliche Dokumentation und Beispiele für alle Funktionen, die Ihnen während des gesamten Entwicklungsprozesses Klarheit und Orientierung bieten.
Ein engagiertes Team von Ingenieuren steht Ihnen rund um die Uhr zur Verfügung, um Sie bei allen Fragen zu unterstützen und eine reibungslose Entwicklung zu gewährleisten.
Zusammenfassend lässt sich sagen, dass die Veröffentlichung von Blazor .NET 8.0 einen bedeutenden Meilenstein in der Evolution der Full-Stack-Web-UI-Entwicklung mit C# und .NET darstellt.
Die Einführung neuer Rendering-Modi, des Blazor Web App Templates, einer verbesserten Navigation und einer Vielzahl weiterer Funktionen machen es zu einer überzeugenden Wahl für Entwickler, die moderne und interaktive Webanwendungen erstellen wollen.
Blazor .NET 8.0 bietet darüber hinaus überzeugende Funktionen wie verbesserte Formularverarbeitung, Streaming-Rendering und die Möglichkeit, verschlüsselte Dienste zu injizieren, was der Entwicklung mehr Tiefe und Flexibilität verleiht.
Die Einführung der Iron Suite von Iron Software ergänzt die Fähigkeiten von Blazor und bietet ein umfassendes Toolkit für dokumentenbezogene Aufgaben innerhalb des .NET-Ökosystems.
Blazor .NET 8.0 ermöglicht es Entwicklern, mit der Iron Suite robuste und funktionsreiche Webanwendungen zu erstellen.
Die Kombination aus leistungsstarken Funktionen, verbesserter Performance und der Unterstützung einer lebendigen Entwickler-Community macht Blazor zu einer überzeugenden Wahl für die moderne Webentwicklung.
9 .NET API-Produkte für Ihre Bürodokumente