Zum Fußzeileninhalt springen
.NET HILFE

.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. Insbesondere eine Cloud-native verteilte Anwendung ist eine eigene Kategorie innerhalb verteilter Anwendungen und nutzt die Skalierbarkeit, Belastbarkeit und Verwaltbarkeit, die in Cloud-nativen App-Infrastrukturen inhärent sind.

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 für .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:

  1. 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.
  2. 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.
  3. 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:

  1. .NET 8.0: Stellen Sie sicher, dass .NET 8.0 auf Ihrem System installiert ist.
  2. .NET Aspire-Arbeitslast: Erwerben Sie die .NET Aspire-Arbeitslast entweder über den VS-Installer oder führen Sie den Befehl dotnet workload install aspire aus.
  3. 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.

  1. Öffnen Sie Visual Studio und klicken Sie auf Neues Projekt erstellen.
  2. Ein neues Fenster erscheint. In diesem neuen Fenster suchen Sie Aspire in der Suchleiste.
  3. Eine Liste erscheint unten, wählen Sie aus dieser Liste das Aspire Starter-Apphost-Projekt und die Paketreferenzen und klicken Sie auf Weiter.
  4. Ein neues Fenster erscheint. In diesem neuen Fenster geben Sie den Projektnamen ein und klicken auf Weiter.
  5. 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.

.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 jetzt auf das .NET Aspire-Web-Frontend-Projekt und die Paketreferenzen. Es wird die neue Webseite mit einem anderen Portnamen öffnen.

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

5. Einführung in 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:

Install-Package IronPdf

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()));
    }
}
@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 Class
$vbLabelText   $csharpLabel

Schreiben 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>
<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>
JAVASCRIPT

Führen Sie einfach den Code aus, danach sieht es wie auf dem untenstehenden Bild aus.

.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 die PDF-Datei mit dem Namen output.pdf erstellen und herunterladen.

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

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-Lizenzierungsseite, um Ihre kostenlose Testlizenz zu erhalten.

Häufig gestellte Fragen

Wie kann ich HTML in PDF in C# konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Sie können auch HTML-Dateien mit RenderHtmlFileAsPdf in PDFs konvertieren.

Was ist der Zweck von .NET Aspire in der Entwicklung cloud-nativer Anwendungen?

.NET Aspire ist darauf ausgelegt, Entwicklern zu helfen, beobachtbare, produktionsreife, verteilte Anwendungen zu konstruieren. Es bietet Orchestrierungswerkzeuge, Komponentenintegration und ein umfassendes Set an Werkzeugen zum Management von Microservices-Architekturen in cloud-nativen Anwendungen.

Wie integriert sich IronPDF in .NET Aspire-Projekte?

IronPDF kann in .NET Aspire-Projekte integriert werden, um fortschrittliche PDF-Generierungs- und Manipulationsfähigkeiten bereitzustellen. Dies ermöglicht es Entwicklern, PDFs nahtlos innerhalb ihrer cloud-nativen Anwendungen zu erstellen und zu verwalten.

Was sind einige gängige Anwendungen von IronPDF in Webanwendungen?

IronPDF wird oft in Webanwendungen zum Generieren von PDF-Berichten, zum Konvertieren von HTML-Inhalten in PDF und zum Verwalten von Dokumenten-Workflows verwendet. Es bietet Entwicklern ein robustes Werkzeugset für die Bearbeitung von PDF-Aufgaben innerhalb von .NET-Anwendungen.

Wie kann ich Probleme beheben, wenn ich IronPDF in einem .NET-Projekt verwende?

Um IronPDF-Probleme zu beheben, stellen Sie sicher, dass das NuGet-Paket korrekt installiert ist und alle Abhängigkeiten richtig referenziert sind. Überprüfen Sie etwaige Fehlermeldungen in der Konsole und konsultieren Sie die IronPDF-Dokumentation oder den Support für weitere Anleitungen.

Was sind die Hauptkomponenten des .NET Aspire-Frameworks?

.NET Aspire umfasst Orchestrierungsfunktionen, vorverpackte Komponenten für eine schnellere Entwicklung sowie integrierte Werkzeuge innerhalb von Visual Studio und der .NET CLI, die alle darauf ausgelegt sind, die Entwicklung und das Management cloud-nativer Anwendungen zu vereinfachen.

Welche Vorteile bietet .NET Aspire für Microservices-Architekturen?

.NET Aspire bietet ein konsistentes Setup-Muster, robuste Orchestrierung und nahtlose Integration von Komponenten, was das Management und die Bereitstellung von Microservices-Architekturen in einer cloud-nativen Umgebung erleichtert.

Wo kann ich mehr über die Verwendung von IronPDF mit .NET-Anwendungen erfahren?

Um mehr über die Verwendung von IronPDF mit .NET-Anwendungen zu erfahren, können Sie den IronPDF-Blog und die Dokumentation für Tutorials und Beispiele besuchen. Diese Ressourcen bieten detaillierte Anleitungen zur Integration und effektiven Nutzung von IronPDF.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen