AIDE .NET

.NET Aspire (Comment ça marche pour les développeurs)

Publié janvier 4, 2024
Partager:

.NET Aspire est un framework de pile décisif, prêt pour le cloud, conçu pour construire des applications observables, prêtes pour la production et distribuées. Fourni par le biais d'un ensemble de paquets NuGet, Aspire répond efficacement à diverses considérations relatives à la découverte de services natifs dans le nuage et vise à fournir des modèles d'installation cohérents. Dans le domaine des apps cloud-natives .NET, la norme implique des composants ou microservices plus petits et interconnectés dans les apps distribuées, s'écartant de la structure de code monolithique traditionnelle. Ces applications s'appuient généralement sur de nombreux services tels que les bases de données, les systèmes de messagerie, les ressources en nuage et la mise en cache.

Dans ce contexte, les applications distribuées exploitent des ressources informatiques réparties sur plusieurs nœuds, tels que des conteneurs fonctionnant sur différents hôtes. Une communication efficace à travers les frontières du réseau est essentielle pour que ces nœuds puissent fournir en collaboration des réponses aux utilisateurs finaux. Plus précisément, une application distribuée native dans le nuage est une catégorie distincte au sein des applications distribuées, capitalisant sur l'évolutivité, la résilience et la facilité de gestion inhérentes aux infrastructures d'applications natives dans le nuage.

Dans cet article, nous aborderons les .NET Aspire pour créer une application web. Nous utiliserons également la fonction IronPDF pour créer et télécharger des fichiers PDF dans le composant de projet Aspire .NET.

1. Introduction à .NET Aspire

.NET Aspire se présente comme une initiative délibérée visant à améliorer l'expérience de développement des apps cloud-natives .NET au sein de l'écosystème .NET. Il présente une suite cohésive et réfléchie d'outils et de modèles de conception conçus pour faciliter la construction et le fonctionnement transparents d'applications distribuées. Les objectifs principaux de l'application de démarrage .NET Aspire sont les suivants :

  1. Orchestration: Les aides à l'orchestration de .NET Aspire présentent de solides capacités d'orchestration d'applications multi-projets et de leurs dépendances complexes. Cette fonctionnalité garantit une exécution sans heurts et une connectivité transparente entre les divers composants des projets .NET.
  2. Composants: Les composants offerts par l'orchestration .NET Aspire sont encapsulés dans des paquets NuGet, représentant des services largement utilisés tels que la ressource locale du conteneur Redis ou Postgres. Ces composants se caractérisent par des interfaces standardisées, garantissant une intégration cohérente et transparente avec votre application. En tirant parti de ces composants préemballés, les développeurs peuvent accélérer le processus de développement et maintenir un niveau plus élevé d'interopérabilité et d'applications cloud-natives configurables à l'aide des modèles de projet .NET Aspire.
  3. Outils: Les modèles de démarrage .NET Aspire intègrent un ensemble complet d'outils conçus pour rationaliser le flux de travail de développement. Les modèles de projet et les expériences d'outillage sont judicieusement intégrés à Visual Studio et à l'interface de programmation .NET, ce qui permet aux développeurs de créer des applications .NET Aspire et d'interagir avec elles sans effort. Ce cadre d'outils inclusif améliore la productivité et fournit un environnement cohérent pour le développement et la gestion des configurations d'applications .NET Aspire et des modèles de projet.

    Par essence, .NET Aspire sert de solution holistique, abordant les aspects clés de préoccupations cloud-natives spécifiques telles que l'orchestration, l'intégration des composants et l'outillage, le tout visant à élever l'efficacité et la cohérence de la construction et du déploiement d'applications cloud-natives .NET.

2. Démarrer avec .NET Aspire

Avant d'utiliser .NET Aspire, assurez-vous que les composants suivants sont installés localement :

  1. .NET 8.0: Assurez-vous que .NET 8.0 est installé sur votre système.
  2. Charge de travail .NET Aspire: Acquérir la charge de travail .NET Aspire en utilisant le programme d'installation VS ou en exécutant la commande "dotnet workload install aspire".
  3. Environnement de développement intégré (L'IDE) ou éditeur de code: Visual Studio 2022 doit être installé sur le système au préalable.

    Si toutes ces conditions sont remplies, vous pouvez commencer à développer vos premiers composants .NET Aspire qui gèrent des applications.

3. Créer un nouveau projet .NET Aspire

Pour créer des applications .NET Aspire, suivez les étapes suivantes.

  1. Ouvrez Visual Studio et cliquez sur Créer un nouveau projet.
  2. Une nouvelle fenêtre apparaît. Dans cette nouvelle fenêtre, recherchez Aspire dans la barre de recherche.
  3. Une liste s'affiche ci-dessous. Dans cette liste, sélectionnez les références du projet et du paquet Aspire Starter apphost et cliquez sur Next.
  4. Une nouvelle fenêtre apparaît. Dans cette nouvelle fenêtre, écrivez le nom du projet et cliquez sur Suivant.
  5. Dans cette fenêtre, sélectionnez le cadre cible et cliquez sur le bouton Créer.

    L'application .NET Aspire sera créée en quelques secondes et vous pourrez commencer le développement et la personnalisation.

4. Exécution et test de l'application .NET Aspire

Une fois le projet créé, il suffit de cliquer sur le bouton Exécuter. Il faudra un certain temps pour créer un build et ensuite, il ouvrira une page web de notre application web Aspire Home page.

Cette page d'accueil contiendra notre pile d'applications Cloud-native .NET Aspire pour construire des applications de démarrage .NET Aspire observables et prêtes pour la production.

.NET Aspire (Comment ça marche pour les développeurs) : Figure 1 - Page d'accueil d'Aspire

Cliquez maintenant sur les liens pour interagir avec .NET. Pour l'instant, cliquez sur le lien "web frontend project and package references". La nouvelle page web s'ouvrira avec un nom de port différent.

.NET Aspire (Comment ça marche pour les développeurs) : Figure 2 - Nouvelle page web

5. Présentation d'IronPDF C&num ;

IronPDF est une bibliothèque C# puissante et polyvalente qui permet aux développeurs d'intégrer sans effort des fonctionnalités avancées de génération et de manipulation de PDF dans leurs applications. Développée par Iron Software, cette bibliothèque riche en fonctionnalités offre un ensemble complet d'outils pour la création, la modification et le rendu de documents PDF directement dans les applications C#.

Avec IronPDF, les développeurs peuvent générer des PDF en toute transparence à partir de diverses sources, telles que HTML, images et documents existants, tout en conservant un contrôle précis sur le formatage et la mise en page. Qu'il s'agisse de créer des rapports dynamiques, de convertir du contenu HTML en PDF ou d'ajouter des annotations à des documents existants, IronPDF rationalise le processus de traitement des PDF, ce qui en fait un atout inestimable pour les développeurs C# à la recherche d'une solution fiable et efficace pour leurs besoins en matière de gestion de documents.

5.1. Installation d'IronPDF

Pour installer IronPDF en toute transparence, utilisez le gestionnaire de paquets NuGet dans Visual Studio. Le paquet désigné pour l'installation s'intitule IronPDF. Il suffit de copier et de coller la commande suivante dans la console du gestionnaire de paquets et d'appuyer sur la touche Entrée :

Install-Package IronPdf

5.2. Intégration d'IronPDF à Aspire Component

L'intégration d'IronPDF avec le composant Aspire est la même que l'intégration avec l'application web Blazor car les composants Aspire peuvent utiliser l'application Blazor en tant que composant. Dans cet exemple de code, nous allons modifier le code de la page de comptoir pour créer et télécharger un fichier PDF.

Ouvrez le fichier counter.razor et remplacez le code par le code ci-dessous.

@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#

Ensuite, écrivez le code JavaScript pour télécharger le fichier PDF. Ecrivez ce code dans la balise script dans la portée de la balise HTML body. Vous trouverez ci-dessous le code à ajouter à votre projet.

<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#

Il suffit d'exécuter le code pour qu'il ressemble à l'image ci-dessous.

.NET Aspire (Comment ça marche pour les développeurs) : Figure 3 - Blazor

Pour créer et télécharger un fichier PDF, cliquez sur le bouton Imprimer. Il créera et téléchargera le fichier PDF nommé output.pdf.

.NET Aspire (Comment ça marche pour les développeurs) : Figure 4 - Téléchargement PDF

6. Conclusion

.NET Aspire apparaît comme un framework pivot, conçu à dessein pour développer des applications robustes, observables et distribuées dans l'environnement cloud. En fournissant un ensemble cohérent d'outils et de modèles de conception, .NET Aspire simplifie les complexités associées à la création d'applications cloud-natives, en offrant une orchestration transparente, une intégration des composants et un cadre d'outillage convivial. En mettant l'accent sur l'évolutivité, la résilience et la facilité de gestion, .NET Aspire s'aligne sur le changement de paradigme vers les microservices et les architectures distribuées.

Lorsque les développeurs se lancent dans l'aventure de .NET Aspire, ils accèdent à un ensemble complet de fonctionnalités, depuis les applications multi-projets orchestrées jusqu'aux composants standardisés encapsulés dans des paquets NuGet. En respectant les conditions préalables et en suivant les étapes simples décrites dans le guide, les développeurs peuvent créer, exécuter et tester des applications .NET Aspire sans effort.

En outre, l'intégration d'IronPDF dans les composants Aspire met en évidence l'extensibilité et la polyvalence du framework, permettant aux développeurs d'incorporer de manière transparente des fonctionnalités avancées de génération et de manipulation de PDF dans leurs applications cloud-natives. Dans l'ensemble, .NET Aspire, avec ses objectifs bien définis et son approche conviviale, se positionne comme un atout précieux pour les développeurs à la recherche d'une solution efficace et cohérente pour créer et déployer des applications cloud-natives au sein de l'écosystème .NET.

Pour un tutoriel complet sur l'utilisation de IronPDF avec les applications web Blazor visitez ici. Pour obtenir une version d'essai gratuite d'IronPDF, rendez-vous ici pour obtenir votre licence d'essai gratuite.

< PRÉCÉDENT
C# protégé (comment cela fonctionne pour les développeurs)
SUIVANT >
Automapper C# (Comment ça marche pour les développeurs)