Passer au contenu du pied de page
.NET AIDE

.NET Aspire (Comment cela fonctionne pour les développeurs)

.NET Aspire se dresse comme un cadre de pile décisif, prêt pour le cloud, adapté à la construction d'applications distribuées observables et prêtes pour la production. Fournie à travers un ensemble de packages NuGet, Aspire répond efficacement à diverses considérations de découverte de services cloud-native et vise à fournir des modèles de configuration cohérents. Dans le domaine des applications cloud-native .NET, la norme implique des composants plus petits, interconnectés, ou microservices dans les applications distribuées, s'éloignant de la structure de code monolithique traditionnelle. Ces applications reposent généralement sur de nombreux services tels que des bases de données, des systèmes de messagerie, des ressources cloud et des caches.

Les applications distribuées, dans ce contexte, tirent parti des ressources informatiques s'étendant sur plusieurs nœuds, tels que des conteneurs fonctionnant sur des hôtes divers. Une communication efficace à travers les limites du réseau est essentielle pour que ces nœuds fournissent ensemble des réponses aux utilisateurs finaux. Spécifiquement, une application distribuée cloud-native est une catégorie distincte au sein des applications distribuées, capitalisant sur l'extensibilité, la résilience et la gestion inhérentes aux infrastructures d'applications cloud-native.

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

1. Introduction à .NET Aspire

L'application .NET Aspire se présente comme une initiative réfléchie visant à améliorer l'expérience de développement pour les applications cloud-native .NET au sein de l'écosystème .NET. Elle introduit un ensemble cohérent et défini d'outils et de modèles de conception conçus pour faciliter la construction et l'exploitation sans faille d'applications distribuées. Les objectifs principaux de l'application de démarrage .NET Aspire incluent :

  1. Orchestration : L'orchestration .NET Aspire assiste des fonctionnalités robustes pour orchestrer des applications multi-projets et leurs dépendances complexes. Cette fonctionnalité assure une exécution fluide et une connectivité harmonieuse entre les divers composants des projets .NET.
  2. Composants : Les composants proposés par l'orchestration .NET Aspire sont encapsulés dans des packages NuGet, représentant des services largement utilisés tels qu'une ressource de conteneur Redis local ou Postgres. Ces composants sont caractérisés par des interfaces standardisées, garantissant une intégration cohérente et harmonieuse 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 supérieur d'interopérabilité et d'applications cloud-native configurables en utilisant les 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 intégrés de manière réfléchie à Visual Studio et à la CLI .NET, permettant aux développeurs de créer et d'interagir avec des applications .NET Aspire sans effort. Ce cadre d'outillage inclusif améliore la productivité et fournit un environnement cohérent pour développer et gérer les configurations d'applications .NET Aspire et les modèles de projet.

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

2. Démarrer avec .NET Aspire

Avant de vous engager avec .NET Aspire, assurez-vous que les composants suivants sont installés localement :

  1. .NET 8.0 : Assurez-vous d'avoir .NET 8.0 installé sur votre système.
  2. Charge de travail .NET Aspire : Acquérez la charge de travail .NET Aspire en utilisant soit l'installateur VS soit en exécutant la commande dotnet workload install aspire.
  3. Environnement de développement intégré (IDE) ou éditeur de code : Visual Studio 2022 devrait être installé sur le système au préalable.

Si toutes ces exigences sont remplies, vous êtes prêt à vous lancer dans le développement de vos premiers composants .NET Aspire qui traitent 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îtra. Dans cette nouvelle fenêtre, recherchez Aspire dans la barre de recherche.
  3. Une liste apparaîtra ci-dessous, dans cette liste, sélectionnez le projet apphost Aspire Starter et les références de package, puis cliquez sur Suivant.
  4. Une nouvelle fenêtre apparaîtra. Dans cette nouvelle fenêtre, écrivez le nom du projet et cliquez sur Suivant.
  5. Dans cette fenêtre, sélectionnez le framework 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écuter et tester l'application .NET Aspire

Une fois le projet créé, cliquez simplement sur le bouton Exécuter, cela prendra un certain temps pour créer un build, puis ouvrira une page web de notre page d'accueil de l'application web Aspire.

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

.NET Aspire (Comment cela fonctionne pour les développeurs) : Figure 1 - Page d'accueil Aspire

Cliquez maintenant sur les liens pour interagir avec .NET. Pour l'instant, cliquez sur le projet frontal web .NET Aspire et les références de package. Il ouvrira la nouvelle page web avec un nom de port différent.

.NET Aspire (Comment cela fonctionne pour les développeurs) : Figure 2 - Nouvelle page Web

5. Introduction à IronPDF en C

La documentation IronPDF le décrit comme une bibliothèque C# puissante et polyvalente qui permet aux développeurs d'intégrer facilement des capacité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 créer, modifier et rendre des documents PDF directement au sein d'applications C#.

Avec IronPDF, les développeurs peuvent générer des PDF de manière transparente à partir de diverses sources, telles que HTML, images, et documents existants, tout en maintenant un contrôle précis sur la mise en forme et la disposition. Que ce soit pour créer des rapports dynamiques, convertir du contenu HTML en PDF ou ajouter des annotations à des documents existants, IronPDF rationalise le processus de gestion 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 gestion de documents.

5.1. Installation de IronPDF

Pour installer IronPDF en toute transparence, utilisez le gestionnaire de packages NuGet dans Visual Studio. Le package désigné pour l'installation est intitulé IronPDF. Copiez simplement et collez la commande suivante dans la console du Gestionnaire de Packages et appuyez sur entrer :

Install-Package IronPdf

5.2. Intégrer IronPDF avec le composant Aspire

Intégrer IronPDF avec le composant Aspire est identique à l'intégration avec l'application web Blazor parce que les composants Aspire peuvent utiliser l'application Blazor comme composant. Dans cet exemple de code, nous changerons le code de la page Counter 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;

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

Après cela, écrivez le code JavaScript pour télécharger le fichier PDF. Écrivez ce code dans la balise script à l'intérieur de la portée de la balise body HTML. 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>
JAVASCRIPT

Exécutez simplement le code ensuite, il ressemblera à l'image ci-dessous.

.NET Aspire (Comment cela fonctionne pour les développeurs) : Figure 3 - Blazor

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

.NET Aspire (Comment cela fonctionne pour les développeurs) : Figure 4 - Téléchargement PDF

6. Conclusion

.NET Aspire apparaît comme un framework essentiel, conçu 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 construction d'applications cloud-native, offrant une orchestration harmonieuse, une intégration de composants, et un cadre d'outillage convivial. Avec un accent sur l'extensibilité, la résilience et la gestion, .NET Aspire s'aligne sur le changement de paradigme vers les microservices et les architectures distribuées.

Lorsque les développeurs entament leur parcours avec .NET Aspire, ils ont accès à une suite complète de fonctionnalités, allant d'applications multi-projets orchestrées à des composants standardisés encapsulés dans des packages NuGet. En respectant les prérequis 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.

De plus, l'intégration de IronPDF dans les composants Aspire met en valeur l'extensibilité et la polyvalence du framework, permettant aux développeurs d'incorporer de manière transparente des capacités avancées de génération et de manipulation de PDF dans leurs applications cloud-native. 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 cherchant une solution efficace et cohérente pour construire et déployer des applications cloud-native au sein de l'écosystème .NET.

Pour un tutoriel complet sur l'utilisation de IronPDF avec les applications web Blazor, visitez le blog tutoriel de IronPDF. Pour obtenir un essai gratuit de IronPDF, visitez la page de licence IronPDF pour obtenir votre licence d'essai gratuite.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Quel est le but de .NET Aspire dans le développement d'applications cloud-native ?

.NET Aspire est conçu pour aider les développeurs à construire des applications distribuées, observables et prêtes pour la production. Il fournit des outils d'orchestration, l'intégration de composants et un ensemble complet d'outils pour gérer les architectures microservices dans les applications cloud-native.

Comment IronPDF s'intègre-t-il aux projets .NET Aspire ?

IronPDF peut être intégré dans les projets .NET Aspire pour offrir des capacités avancées de génération et de manipulation de PDF. Cela permet aux développeurs de créer et de gérer des PDF de manière transparente au sein de leurs applications cloud-native.

Quels sont les usages courants d'IronPDF dans les applications web ?

IronPDF est souvent utilisé dans les applications web pour générer des rapports PDF, convertir du contenu HTML en PDF, et gérer les flux de travail de documents. Il offre aux développeurs un ensemble d'outils robuste pour gérer les tâches PDF dans les applications .NET.

Comment puis-je résoudre les problèmes lors de l'utilisation d'IronPDF dans un projet .NET ?

Pour résoudre les problèmes d'IronPDF, assurez-vous que le package NuGet est correctement installé et que toutes les dépendances sont correctement référencées. Vérifiez les messages d'erreur dans la console et consultez la documentation ou le support d'IronPDF pour plus d'aide.

Quels sont les composants clés du cadre .NET Aspire ?

.NET Aspire inclut des capacités d'orchestration, des composants pré-packagés pour un développement plus rapide, et des outils intégrés dans Visual Studio et le CLI .NET, tous conçus pour simplifier le développement et la gestion des applications cloud-native.

Quels avantages .NET Aspire offre-t-il pour l'architecture microservices ?

.NET Aspire offre un modèle d'installation cohérent, une orchestration robuste et une intégration transparente des composants, facilitant la gestion et le déploiement des architectures microservices dans un environnement cloud-native.

Où puis-je en apprendre davantage sur l'utilisation d'IronPDF avec les applications .NET ?

Pour en savoir plus sur l'utilisation d'IronPDF avec les applications .NET, vous pouvez consulter le blog et la documentation d'IronPDF pour des tutoriels et des exemples. Ces ressources fournissent des instructions détaillées sur l'intégration et l'utilisation efficace d'IronPDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite