
.NET Aspire (Wie es für Entwickler funktioniert)
.NET Aspire steht als entscheidendes, Cloud-bereites Stack-Framework, das darauf zugeschnitten ist, beobachtbare, produktionsbereite, verteilte Anwendungen zu konstruieren. Durch eine Reihe von NuGet-Paketen geliefert, adressiert Aspire effizient verschiedene Überlegungen zur dienstorientierten Cloud-nativen Dienstentdeckung und zielt darauf ab, konsistente Einrichtungsmodelle bereitzustellen. Im Bereich der .NET Cloud-nativen Apps besteht die Norm in kleineren, miteinander vernetzten Komponenten oder Microservices in verteilten Anwendungen, was sich von der traditionellen monolithischen Code-Struktur unterscheidet. Diese Anwendungen verlassen sich typischerweise auf zahlreiche Dienste wie Datenbanken, Nachrichtensysteme, Cloud-Ressourcen und Caching.
Verteilte Anwendungen nutzen in diesem Kontext Rechenressourcen, die sich über mehrere Knoten erstrecken, wie z.B. Container, die auf verschiedenen Hosts betrieben werden. Eine effektive Kommunikation über Netzwerkgrenzen hinweg ist unerlässlich, damit diese Knoten kooperativ Antworten an Endbenutzer liefern können. Konkret ist eine cloud-native verteilte App eine eigene Kategorie innerhalb der verteilten Anwendungen, die von der Skalierbarkeit, Widerstandsfähigkeit und Verwaltbarkeit cloud-nativer App-Infrastrukturen profitiert.
In diesem Artikel diskutieren wir die .NET Aspire Komponenten, um eine Webanwendung zu erstellen. Außerdem verwenden wir die IronPDF-Bibliothek, um PDF-Dateien im Aspire .NET-Projektkomponente zu erstellen und herunterzuladen.
1. Einführung in .NET Aspire
Die .NET Aspire Anwendung steht als zielgerichtete Initiative, die darauf abzielt, das Entwicklungserlebnis for .NET Cloud-native Apps innerhalb des .NET-Ökosystems zu verbessern. Es führt eine kohärente und sorgfältig gestaltete Suite von Tools und Designmustern ein, die auf die nahtlose Konstruktion und den Betrieb von verteilten Apps abzielen. Die Kernziele der .NET Aspire Startanwendung umfassen:
- Orchestrierung: Die Orchestrierung von .NET Aspire unterstützt robuste Funktionen zur Orchestrierung von Multi-Projekt-Anwendungen und ihrer komplexen Abhängigkeiten. Diese Funktionalität gewährleistet einen reibungslosen Ablauf und nahtlose Konnektivität zwischen verschiedenen Komponenten von .NET-Projekten.
- Komponenten: Die von der .NET Aspire Orchestrierung angebotenen Komponenten sind in NuGet-Paketen gekapselt und repräsentieren weit verbreitete Dienste wie ein lokales Redis-Containerressource oder Postgres. Diese Komponenten sind durch standardisierte Schnittstellen gekennzeichnet, die eine konsistente und nahtlose Integration mit Ihrer Anwendung gewährleisten. Indem Entwickler auf diese vorverpackten Komponenten zurückgreifen, können sie den Entwicklungsprozess beschleunigen und ein höheres Maß an Interoperabilität und konfigurierbaren Cloud-nativen Anwendungen mit Hilfe von .NET Aspire-Projektvorlagen beibehalten.
- Werkzeuge: Die .NET Aspire Startvorlagen umfassen eine umfassende Reihe von Werkzeugen, die darauf abzielen, den Entwicklungs-Workflow zu optimieren. Projektvorlagen und Werkzeugerfahrungen sind durchdacht in Visual Studio und die .NET CLI integriert, um Entwicklern die Erstellung und Interaktion mit .NET Aspire Apps mühelos zu ermöglichen. Dieses umfassende Tooling-Framework steigert die Produktivität und bietet eine kohärente Umgebung für die Entwicklung und Verwaltung von .NET Aspire-Anwendungs-Konfigurationen und Projektvorlagen.
Im Wesentlichen dient .NET Aspire als ganzheitliche Lösung, die zentrale Aspekte spezifischer Cloud-nativer Anliegen wie Orchestrierung, Komponentenintegration und Werkzeugunterstützung adressiert - alles mit dem Ziel, die Effizienz und Konsistenz beim Erstellen und Bereitstellen von .NET Cloud-native Anwendungen zu verbessern.
2. erste Schritte mit .NET Aspire
Bevor Sie sich mit .NET Aspire beschäftigen, stellen Sie sicher, dass die folgenden Komponenten lokal installiert sind:
- .NET 8.0: Stellen Sie sicher, dass .NET 8.0 auf Ihrem System installiert ist.
- .NET Aspire-Arbeitslast: Erwerben Sie die .NET Aspire-Arbeitslast entweder durch die Nutzung des VS-Installationsprogramms oder durch Ausführung des
dotnet workload install aspireBefehls. - Integrierte Entwicklungsumgebung (IDE) oder Code-Editor: Visual Studio 2022 sollte vorher auf dem System installiert sein.
Wenn all diese Anforderungen erfüllt sind, können Sie mit der Entwicklung Ihrer ersten .NET Aspire-Komponenten beginnen, die Anwendungen handhaben.
3. ein neues .NET Aspire Projekt erstellen
Um .NET Aspire-Apps zu erstellen, folgen Sie bitte den folgenden Schritten.
- Öffnen Sie Visual Studio und klicken Sie auf Neues Projekt erstellen.
- Ein neues Fenster erscheint. In diesem neuen Fenster suchen Sie Aspire in der Suchleiste.
- Eine Liste erscheint unten, wählen Sie aus dieser Liste das Aspire Starter-Apphost-Projekt und die Paketreferenzen und klicken Sie auf Weiter.
- Ein neues Fenster erscheint. In diesem neuen Fenster geben Sie den Projektnamen ein und klicken auf Weiter.
- In diesem Fenster wählen Sie das Ziel-Framework aus und klicken auf die Schaltfläche Erstellen.
Die .NET Aspire-Anwendung wird in wenigen Sekunden erstellt und Sie können mit der Entwicklung und Anpassung beginnen.
4. das Ausführen und Testen der .NET Aspire Anwendung
Sobald das Projekt erstellt ist, klicken Sie einfach auf die Schaltfläche Ausführen. Es wird einige Zeit dauern, um ein Build zu erstellen, und danach wird eine Webseite unserer Aspire-Webanwendung Startseite geöffnet.
Diese Startseite wird unseren .NET Aspire Cloud-native Apps Stack für den Aufbau von beobachtbaren produktionsbereiten .NET Aspire Starter-Anwendungen enthalten.

Klicken Sie nun auf die Links, um mit .NET zu interagieren. Klicken Sie jetzt auf das .NET Aspire-Web-Frontend-Projekt und die Paketreferenzen. Es wird die neue Webseite mit einem anderen Portnamen öffnen.

5. Introducing IronPDF C#
Die IronPDF-Dokumentation beschreibt es als eine leistungsstarke und vielseitige C#-Bibliothek, die Entwickler in die Lage versetzt, mühelos fortschrittliche PDF-Erstellung und -Manipulation in ihre Anwendungen zu integrieren. Diese funktionsreiche Bibliothek, die von Iron Software entwickelt wurde, bietet ein umfassendes Set von Tools zur Erstellung, Änderung und Darstellung von PDF-Dokumenten direkt innerhalb von C#-Anwendungen.
Mit IronPDF können Entwickler nahtlos PDFs aus verschiedenen Quellen wie HTML, Bildern und bestehenden Dokumenten generieren, während sie gleichzeitig präzise Kontrolle über Formatierung und Layout behalten. Egal, ob es darum geht, dynamische Berichte zu erstellen, HTML-Inhalte in PDF zu konvertieren oder Anmerkungen zu bestehenden Dokumenten hinzuzufügen, IronPDF rationalisiert den PDF-Verarbeitungsprozess und macht es zu einem wertvollen Asset für C#-Entwickler, die eine zuverlässige und effiziente Lösung für ihre Dokumentenmanagement-Bedürfnisse suchen.
5.1. Installieren von IronPDF
Um IronPDF nahtlos zu installieren, verwenden Sie den NuGet-Paket-Manager innerhalb von Visual Studio. Das für die Installation vorgesehene Paket trägt den Titel IronPDF. Kopieren Sie einfach den folgenden Befehl in die Paket-Manager-Konsole und drücken Sie die Eingabetaste:
5.2. Integration von IronPDF in die Aspire-Komponente
Die Integration von IronPDF mit der Aspire-Komponente ist die gleiche wie die Integration mit der Blazor-Webanwendung, da die Aspire-Komponenten die Blazor-Anwendung als Komponente nutzen können. In diesem Codebeispiel ändern wir den Code der Counter Page, um eine PDF-Datei zu erstellen und herunterzuladen.
Öffnen Sie die counter.razor Datei und ersetzen Sie den Code durch den untenstehenden Code.
@page "/PrintPDF"
@rendermode InteractiveServer
@using IronPdf
<PageTitle>Print PDF</PageTitle>
<h1>IronPDF</h1>
<p role="status">Click on the button below to create and download the PDF file </p>
<button class="btn btn-primary" @onclick="IncrementCount">Print</button>
@code {
private int currentCount = 0;
/// <summary>
/// Handles the click event of the "Print" button.
/// This function will generate a PDF from an HTML string and prompt the user to download it.
/// </summary>
private void IncrementCount()
{
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file using JavaScript Interop to initiate download
JSRuntime.InvokeVoidAsync("saveAsFile", "output.pdf", Convert.ToBase64String(pdf.Stream.ToArray()));
}
}'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: @page "/PrintPDF" @rendermode InteractiveServer using IronPdf <PageTitle> Print PDF</PageTitle> <h1> IronPDF</h1> <p role="status"> Click on the button below to create and download the PDF file </p> <button class="btn btn-primary" onclick="IncrementCount"> Print</button> @code
"btn btn-primary" onclick="IncrementCount"> Print</button> code
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Friend @page "/PrintPDF" @rendermode InteractiveServer using IronPdf <PageTitle> Print PDF</PageTitle> <h1> IronPDF</h1> <p role="status"> Click on the button below to create and download the PDF file </p> <button Class="btn btn-primary" onclick
"status"> Click on the button below [to] create [and] download the PDF file </p> <button Class="btn btn-primary" onclick
Private Private Friend page "/PrintPDF" rendermode InteractiveServer [using] IronPdf (Of PageTitle) Print PDF</PageTitle> (Of h1) IronPDF</h1> <p role="status"> Click on the button below [to] create [and] download the PDF file </p> <button Class
Private currentCount As Integer = 0
''' <summary>
''' Handles the click event of the "Print" button.
''' This function will generate a PDF from an HTML string and prompt the user to download it.
''' </summary>
Private Sub IncrementCount()
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file using JavaScript Interop to initiate download
JSRuntime.InvokeVoidAsync("saveAsFile", "output.pdf", Convert.ToBase64String(pdf.Stream.ToArray()))
End Sub
End ClassSchreiben Sie danach den JavaScript-Code, um die PDF-Datei herunterzuladen. Schreiben Sie diesen Code im Skript-Tag im Umfang des HTML-Body-Tags. Hier ist der Code, den Sie zu Ihrem Projekt hinzufügen müssen.
<script type="text/javascript">
function saveAsFile(filename, bytesBase64) {
if (navigator.msSaveBlob) {
//Download document in Edge browser
var data = window.atob(bytesBase64);
var bytes = new Uint8Array(data.length);
for (var i = 0; i < data.length; i++) {
bytes[i] = data.charCodeAt(i);
}
var blob = new Blob([bytes.buffer], { type: "application/octet-stream" });
navigator.msSaveBlob(blob, filename);
window.navigator.msSaveOrOpenBlob(blob);
}
else {
var link = document.createElement('a');
link.download = filename;
link.href = "data:application/octet-stream;base64," + bytesBase64;
document.body.appendChild(link); // Needed for Firefox
link.click();
document.body.removeChild(link);
}
}
</script>
Führen Sie einfach den Code aus, danach sieht es wie auf dem untenstehenden Bild aus.

Um eine PDF-Datei zu erstellen und herunterzuladen, klicken Sie auf die Schaltfläche Drucken. Es wird die PDF-Datei mit dem Namen output.pdf erstellen und herunterladen.

6. Fazit
.NET Aspire tritt als zentrales Framework auf, das bewusst entwickelt wurde, um robuste, beobachtbare und verteilte Anwendungen in der Cloud-Umgebung zu entwickeln. Durch die Bereitstellung einer kohärenten Reihe von Tools und Designmustern vereinfacht .NET Aspire die mit dem Aufbau von Cloud-nativen Anwendungen verbundenen Komplexitäten und bietet nahtlose Orchestrierung, Komponentenintegration und ein benutzerfreundliches Werkzeug-Framework. Mit einem Fokus auf Skalierbarkeit, Belastbarkeit und Verwaltbarkeit steht .NET Aspire im Einklang mit dem Paradigmenwechsel hin zu Microservices und verteilten Architekturen.
Während Entwickler ihre Reise mit .NET Aspire antreten, erhalten sie Zugriff auf ein umfassendes Funktionspaket, von orchestrierten Multi-Projekt-Anwendungen bis hin zu standardisierten Komponenten, die in NuGet-Paketen gekapselt sind. Indem sie sich an die Voraussetzungen halten und den im Leitfaden skizzierten einfachen Schritten folgen, können Entwickler mühelos .NET Aspire-Anwendungen erstellen, ausführen und testen.
Darüber hinaus zeigt die Integration von IronPDF in Aspire-Komponenten die Erweiterbarkeit und Vielseitigkeit des Frameworks und ermöglicht es Entwicklern, fortschrittliche PDF-Erstellung und -Manipulation nahtlos in ihre Cloud-nativen Anwendungen zu integrieren. Insgesamt positioniert sich .NET Aspire mit seinen klar definierten Zielen und benutzerfreundlichen Ansatz als wertvolles Asset für Entwickler, die nach einer effizienten und konsistenten Lösung für die Erstellung und Bereitstellung von Cloud-nativen Anwendungen im .NET-Ökosystem suchen.
Für ein vollständiges Tutorial zur Verwendung von IronPDF mit Blazor-Webanwendungen besuchen Sie das Blog-Tutorial von IronPDF. Um eine kostenlose Testversion von IronPDF zu erhalten, besuchen Sie die IronPDF-Lizenzseite, um Ihre kostenlose Testlizenz zu erhalten.

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.
Verwandte Artikel


