.NET-HILFE

.NET Aspire (Wie es für Entwickler funktioniert)

Veröffentlicht 4. Januar 2024
Teilen Sie:

.NET Aspire ist ein entscheidendes, Cloud-fähiges Stack-Framework, das auf die Entwicklung von beobachtbaren, produktionsfähigen, verteilten Anwendungen zugeschnitten ist. Aspire wird über eine Reihe von NuGet-Paketen bereitgestellt, die verschiedene Überlegungen zur Erkennung von Cloud-nativen Diensten effizient adressieren und konsistente Setup-Muster bereitstellen sollen. Im Bereich der Cloud-nativen .NET-Anwendungen sind kleinere, miteinander verknüpfte Komponenten oder Microservices in verteilten Anwendungen die Norm, die von der traditionellen monolithischen Codestruktur abweichen. Diese Anwendungen stützen sich in der Regel auf zahlreiche Dienste wie Datenbanken, Nachrichtensysteme, Cloud-Ressourcen und Caching.

Verteilte Anwendungen nutzen in diesem Zusammenhang Rechenressourcen, die sich über mehrere Knoten erstrecken, z. B. Container, die auf verschiedenen Hosts laufen. Eine effektive Kommunikation über die Netzgrenzen hinweg ist für diese Knoten unerlässlich, damit sie gemeinsam Antworten an die Endnutzer liefern können. Cloud-native verteilte Anwendungen sind eine eigene Kategorie innerhalb der verteilten Anwendungen, die sich die Skalierbarkeit, Ausfallsicherheit und Verwaltbarkeit von Cloud-nativen Anwendungsinfrastrukturen zunutze machen.

In diesem Artikel werden wir über die .NET Aspire komponenten, um eine Webanwendung zu erstellen. Außerdem werden wir die IronPDF zum Erstellen und Herunterladen von PDF-Dateien in der Aspire .NET-Projektkomponente.

1. Einführung in .NET Aspire

.NET Aspire anwendung ist eine gezielte Initiative, die darauf abzielt, die Entwicklungserfahrung für .NET Cloud-native Anwendungen innerhalb des .NET-Ökosystems zu verbessern. Es stellt eine zusammenhängende und durchdachte Suite von Tools und Design Patterns vor, die die nahtlose Entwicklung und den Betrieb von verteilten Anwendungen erleichtern sollen. Die Hauptziele der .NET Aspire-Starteranwendung umfassen:

  1. Orchestrierung: .NET Aspire Orchestrierungsassistenten bieten robuste Funktionen für die Orchestrierung von Multiprojektanwendungen und deren komplexe Abhängigkeiten. Diese Funktionalität gewährleistet eine reibungslose Ausführung und nahtlose Konnektivität zwischen verschiedenen Komponenten von .NET-Projekten.

  2. Komponenten: Die von .NET Aspire Orchestration angebotenen Komponenten sind in NuGet-Paketen gekapselt und repräsentieren weit verbreitete Dienste wie lokale Redis-Container-Ressourcen oder Postgres. Diese Komponenten zeichnen sich durch standardisierte Schnittstellen aus, die eine konsistente und nahtlose Integration mit Ihrer Anwendung garantieren. Durch die Nutzung dieser vorgefertigten Komponenten können Entwickler den Entwicklungsprozess beschleunigen und ein höheres Maß an Interoperabilität und konfigurierbaren Cloud-nativen Anwendungen mit .NET Aspire-Projektvorlagen beibehalten.

  3. Tooling: .NET Aspire Starter Templates enthalten einen umfassenden Satz von Tools, die auf die Rationalisierung des Entwicklungsworkflows zugeschnitten sind. Projektvorlagen und Tooling-Erfahrungen sind durchdacht in Visual Studio und die .NET CLI integriert und ermöglichen Entwicklern die mühelose Erstellung und Interaktion mit .NET Aspire-Anwendungen. Dieses umfassende Tooling-Framework steigert die Produktivität und bietet eine einheitliche Umgebung für die Entwicklung und Verwaltung von .NET Aspire-Anwendungskonfigurationen und Projektvorlagen.

    Im Wesentlichen dient .NET Aspire als ganzheitliche Lösung, die Schlüsselaspekte spezifischer Cloud-nativer Belange wie Orchestrierung, Komponentenintegration und Tooling adressiert und darauf abzielt, die Effizienz und Konsistenz der Erstellung und Bereitstellung von Cloud-nativen .NET-Anwendungen zu erhöhen.

2. Erste Schritte mit .NET Aspire

Bevor Sie mit .NET Aspire arbeiten, stellen Sie sicher, dass die folgenden Komponenten lokal installiert sind:

  1. .NET 8.0: Stellen Sie sicher, dass .NET 8.0 auf Ihrem System installiert ist.

  2. .NET Aspire-Workload: Erwerben Sie den .NET Aspire-Workload, indem Sie entweder das VS-Installationsprogramm verwenden oder den Befehl "dotnet workload install aspire" ausführen.

  3. Integrierte Entwicklungsumgebung (IDE) oder Code Editor: Visual Studio 2022 sollte vorher auf dem System installiert werden.

    Wenn alle diese Anforderungen erfüllt sind, können Sie mit der Entwicklung Ihrer ersten .NET Aspire-Komponenten für Anwendungen beginnen.

3. Ein neues .NET Aspire-Projekt erstellen

Um .NET Aspire-Anwendungen zu erstellen, gehen Sie wie folgt vor.

  1. Öffnen Sie Visual Studio und klicken Sie auf Neues Projekt erstellen.

  2. Es erscheint ein neues Fenster. Suchen Sie in diesem neuen Fenster in der Suchleiste nach Aspire.

  3. Wählen Sie aus dieser Liste das Aspire Starter apphost Projekt und die Paketreferenzen aus und klicken Sie auf Weiter.

  4. Es erscheint ein neues Fenster. Geben Sie in diesem neuen Fenster den Projektnamen ein und klicken Sie auf Weiter.

  5. In diesem Fenster wählen Sie den Zielrahmen aus und klicken auf die Schaltfläche Erstellen.

    Die .NET Aspire-Anwendung wird in wenigen Sekunden erstellt, und Sie können sofort mit der Entwicklung und Anpassung beginnen.

4. 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, bis ein Build erstellt wird, und danach wird eine Webseite unserer Aspire-Webanwendung Home Page geöffnet.

Auf dieser Homepage finden Sie unseren .NET Aspire Cloud-native Apps Stack für die Erstellung beobachtbarer, produktionsreifer .NET Aspire Starter-Anwendungen.

.NET Aspire (Wie es für Entwickler funktioniert): Abbildung 1 - Aspire-Startseite

Klicken Sie nun auf die Links, um mit .NET zu interagieren. Klicken Sie zunächst auf den Link Web-Frontend-Projekt und Paketreferenzen. Dadurch wird die neue Webseite mit einem anderen Anschlussnamen geöffnet.

.NET Aspire (Wie es für Entwickler funktioniert): Abbildung 2 - Neue Webseite

5. Einführung in IronPDF C#

IronPDF ist eine leistungsstarke und vielseitige C#-Bibliothek, die es Entwicklern ermöglicht, mühelos erweiterte Funktionen zur PDF-Erzeugung und -Bearbeitung in ihre Anwendungen zu integrieren. Diese von Iron Software entwickelte, funktionsreiche Bibliothek bietet eine umfassende Reihe von Werkzeugen zum Erstellen, Ändern und Rendern von PDF-Dokumenten direkt in C#-Anwendungen.

Mit IronPDF können Entwickler nahtlos PDFs aus verschiedenen Quellen wie HTML, Bildern und vorhandenen Dokumenten generieren und dabei die genaue Kontrolle über Formatierung und Layout behalten. Ob es um die Erstellung dynamischer Berichte, die Konvertierung von HTML-Inhalten in PDF oder das Hinzufügen von Anmerkungen zu bestehenden Dokumenten geht, IronPDF rationalisiert den PDF-Verarbeitungsprozess und ist damit ein unschätzbarer Vorteil für C#-Entwickler, die eine zuverlässige und effiziente Lösung für ihre Dokumentenmanagement-Anforderungen suchen.

5.1. Installation von IronPDF

Um IronPDF nahtlos zu installieren, nutzen Sie den NuGet Package Manager in Visual Studio. Das für die Installation vorgesehene Paket trägt den Namen IronPDF. Kopieren Sie einfach den folgenden Befehl, fügen Sie ihn in die Paketmanager-Konsole ein und drücken Sie die Eingabetaste:

Install-Package IronPdf

5.2. Integration von IronPDF in die Aspire-Komponente

Die Integration von IronPDF mit der Aspire-Komponente entspricht der Integration mit der Blazor-Webanwendung, da die Aspire-Komponenten die Blazor-Anwendung als Komponente nutzen können. In diesem Codebeispiel werden wir den Code der Zählerseite ändern, um eine PDF-Datei zu erstellen und herunterzuladen.

Öffnen Sie die Datei counter.razor und ersetzen Sie den Code durch den unten stehenden 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;
    private void IncrementCount()
    {
        var renderer = new ChromePdfRenderer();
        // Create a PDF from a HTML string using C#
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        // Export to a file or Stream
        JSRuntime.InvokeVoidAsync("saveAsFile", "output.pdf", Convert.ToBase64String(pdf.Stream.ToArray()));
    }
}
@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;
    private void IncrementCount()
    {
        var renderer = new ChromePdfRenderer();
        // Create a PDF from a HTML string using C#
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        // Export to a file or Stream
        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
	Private Sub IncrementCount()
		Dim renderer = New ChromePdfRenderer()
		' Create a PDF from a HTML string using C#
		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
		' Export to a file or Stream
		JSRuntime.InvokeVoidAsync("saveAsFile", "output.pdf", Convert.ToBase64String(pdf.Stream.ToArray()))
	End Sub
End Class
VB   C#

Danach schreiben Sie den JavaScript-Code zum Herunterladen der PDF-Datei. Schreiben Sie diesen Code in den Script-Tag im Rahmen des HTML-Body-Tags. Nachfolgend finden Sie den Code, den Sie 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>
<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>
<script type="text/javascript"> [function] saveAsFile(filename, bytesBase64)
If True Then
		If navigator.msSaveBlob Then
			'Download document in Edge browser
			Dim data = window.atob(bytesBase64)
			Dim bytes = New Uint8Array(data.length)
			For i = 0 To data.length - 1
				bytes (i) = data.charCodeAt(i)
			Next i
			Dim blob As New Blob((bytes.buffer), { type:= "application/octet-stream" })
			navigator.msSaveBlob(blob, filename)
			window.navigator.msSaveOrOpenBlob(blob)
		Else
			Dim link = document.createElement("a"c)
			link.download = filename
			link.href = "data:application/octet-stream;base64," & bytesBase64
			document.body.appendChild(link) ' Needed for Firefox
			link.click()
			document.body.removeChild(link)
		End If
End If
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'</script>
VB   C#

Führen Sie den Code einfach aus, dann sieht es ungefähr so aus wie auf dem Bild unten.

.NET Aspire (Wie es für Entwickler funktioniert): Abbildung 3 - Blazor

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

.NET Aspire (Wie es für Entwickler funktioniert): Abbildung 4 - PDF-Download

6. Schlussfolgerung

.NET Aspire ist ein zentrales Framework, das speziell für die Entwicklung robuster, beobachtbarer und verteilter Anwendungen in der Cloud-Umgebung entwickelt wurde. Durch die Bereitstellung eines zusammenhängenden Satzes von Tools und Entwurfsmustern vereinfacht .NET Aspire die Komplexität, die mit der Erstellung von Cloud-nativen Anwendungen verbunden ist, und bietet nahtlose Orchestrierung, Komponentenintegration und ein benutzerfreundliches Tooling-Framework. Mit dem Schwerpunkt auf Skalierbarkeit, Ausfallsicherheit und Verwaltbarkeit passt sich .NET Aspire dem Paradigmenwechsel hin zu Microservices und verteilten Architekturen an.

Wenn Entwickler ihre Reise mit .NET Aspire antreten, erhalten sie Zugang zu einer umfassenden Suite von Funktionen, von orchestrierten Multiprojektanwendungen bis hin zu standardisierten Komponenten, die in NuGet-Paketen gekapselt sind. Durch die Einhaltung der Voraussetzungen und die Befolgung der im Leitfaden beschriebenen einfachen Schritte 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, die es Entwicklern ermöglicht, fortschrittliche PDF-Erzeugungs- und -Bearbeitungsfunktionen nahtlos in ihre Cloud-nativen Anwendungen zu integrieren. Insgesamt positioniert sich .NET Aspire mit seinen klar definierten Zielen und seinem benutzerfreundlichen Ansatz als wertvoller Aktivposten für Entwickler, die eine effiziente und konsistente Lösung für die Erstellung und Bereitstellung von Cloud-nativen Anwendungen innerhalb des .NET-Ökosystems suchen.

Für eine vollständige Anleitung zur Verwendung von IronPDF mit Blazor-Webanwendungen besuchen Sie hier. Um eine kostenlose Testversion von IronPDF zu erhalten, besuchen Sie bitte hier Ihre kostenlose Testlizenz.

< PREVIOUS
C# Protected (Wie es für Entwickler funktioniert)
NÄCHSTES >
Automapper C# (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >