AYUDA .NET

.NET Aspire (Cómo funciona para los desarrolladores)

Actualizado 4 de enero, 2024
Compartir:

.NET Aspire se erige como un marco de pila decisivo, preparado para la nube y adaptado para construir aplicaciones distribuidas, observables y listas para la producción. Entregado a través de un conjunto de paquetes NuGet, Aspire aborda de manera eficiente diversas consideraciones de descubrimiento de servicios nativos de la nube y tiene como objetivo proporcionar patrones de configuración coherentes. En el ámbito de las aplicaciones .NET nativas en la nube, la norma implica componentes más pequeños e interconectados o microservicios en aplicaciones distribuidas, apartándose de la estructura tradicional de código monolítico. Estas aplicaciones suelen depender de numerosos servicios, como bases de datos, sistemas de mensajería, recursos en la nube y almacenamiento en caché.

Las aplicaciones distribuidas, en este contexto, aprovechan los recursos informáticos que abarcan múltiples nodos, como contenedores que operan en diversos hosts. La comunicación eficaz a través de los límites de la red es esencial para que estos nodos puedan ofrecer respuestas a los usuarios finales en colaboración. En concreto, una aplicación distribuida nativa de la nube es una categoría distinta dentro de las aplicaciones distribuidas, que aprovecha la escalabilidad, resistencia y capacidad de gestión inherentes a las infraestructuras de aplicaciones nativas de la nube.

En este artículo hablaremos de .NET Aspire para crear una aplicación web. Además, utilizaremos el IronPDF para crear y descargar archivos PDF en el componente de proyecto Aspire .NET.

1. Introducción a .NET Aspire

.NET Aspire es una iniciativa destinada a mejorar la experiencia de desarrollo de aplicaciones .NET nativas en la nube dentro del ecosistema .NET. Presenta un conjunto de herramientas y patrones de diseño cohesivos y de opinión elaborados para facilitar la construcción y el funcionamiento sin fisuras de aplicaciones distribuidas. Los objetivos principales de la aplicación de arranque .NET Aspire abarcan:

  1. Orquestación: .NET Aspire ayuda a la orquestación con sólidas capacidades para orquestar aplicaciones multiproyecto y sus intrincadas dependencias. Esta funcionalidad garantiza una ejecución fluida y una conectividad sin fisuras entre los diversos componentes de los proyectos .NET.
  2. Componentes: Los componentes que ofrece la orquestación .NET Aspire están encapsulados en paquetes NuGet, que representan servicios ampliamente utilizados como el recurso contenedor local Redis o Postgres. Estos componentes se caracterizan por sus interfaces estandarizadas, que garantizan una integración coherente y sin fisuras con su aplicación. Al aprovechar estos componentes preempaquetados, los desarrolladores pueden agilizar el proceso de desarrollo y mantener un mayor nivel de interoperabilidad y aplicaciones nativas de la nube configurables mediante plantillas de proyecto .NET Aspire.
  3. Herramientas: Las plantillas de inicio de .NET Aspire incorporan un completo conjunto de herramientas diseñadas para agilizar el flujo de trabajo de desarrollo. Las plantillas de proyectos y las experiencias de herramientas están cuidadosamente integradas en Visual Studio y .NET CLI, lo que permite a los desarrolladores crear aplicaciones .NET Aspire e interactuar con ellas sin esfuerzo. Este marco de herramientas inclusivo mejora la productividad y proporciona un entorno cohesivo para desarrollar y gestionar configuraciones de aplicaciones y plantillas de proyectos .NET Aspire.

    En esencia, .NET Aspire es una solución integral que aborda aspectos clave de problemas específicos de la nube nativa, como la orquestación, la integración de componentes y las herramientas, con el objetivo de aumentar la eficacia y la coherencia de la creación e implantación de aplicaciones .NET nativas de la nube.

2. Introducción a .NET Aspire

Antes de empezar a trabajar con .NET Aspire, asegúrese de que los siguientes componentes están instalados localmente:

  1. .NET 8.0: Asegúrese de tener .NET 8.0 instalado en su sistema.
  2. Carga de trabajo .NET Aspire: Adquiera la carga de trabajo .NET Aspire utilizando el instalador de VS o ejecutando el comando "dotnet workload install aspire".
  3. Entorno de desarrollo integrado (IDE) o Editor de código: Visual Studio 2022 debe estar instalado en el sistema de antemano.

    Si se cumplen todos estos requisitos usted es bueno para ir con el desarrollo de sus primeros componentes .NET Aspire que manejan aplicaciones.

3. Crear un nuevo proyecto .NET Aspire

Para crear aplicaciones .NET Aspire, siga los siguientes pasos.

  1. Abra Visual Studio y haga clic en Crear un nuevo proyecto.
  2. Aparecerá una nueva ventana. En esta nueva ventana, busca Aspire en la barra de búsqueda.
  3. A continuación aparecerá una lista, de esa lista seleccione el proyecto Aspire Starter apphost y las referencias del paquete y haga clic en Siguiente.
  4. Aparecerá una nueva ventana. En esta nueva ventana escriba el nombre del proyecto y haga clic en Siguiente.
  5. En esta ventana, seleccione el marco de destino y haga clic en el botón Crear.

    La aplicación .NET Aspire se creará en unos segundos, y ya podrás empezar con el desarrollo y la personalización.

4. Ejecutar y probar la aplicación .NET Aspire

Una vez creado el proyecto sólo tienes que pulsar sobre el botón Ejecutar, tardará un tiempo en crear una compilación y después de eso, se abrirá una página web de nuestra aplicación web Aspire Página de inicio.

Esta página de inicio contendrá nuestra pila de aplicaciones .NET Aspire Cloud-native para crear aplicaciones .NET Aspire starter observables y listas para la producción.

.NET Aspire (Cómo funciona para los desarrolladores): Figura 1 - Página de inicio de Aspire

Ahora haz clic en los enlaces para interactuar con .NET. De momento, haz clic en el enlace del proyecto frontend web y referencias de paquetes. Se abrirá la nueva página web con un nombre de puerto diferente.

.NET Aspire (Cómo funciona para los desarrolladores): Figura 2 - Nueva página web

5. Presentación de IronPDF C#

IronPDF es una potente y versátil biblioteca de C# que permite a los desarrolladores integrar sin esfuerzo funciones avanzadas de generación y manipulación de PDF en sus aplicaciones. Desarrollada por Iron Software, esta biblioteca repleta de funciones ofrece un completo conjunto de herramientas para crear, modificar y representar documentos PDF directamente en aplicaciones C#.

Con IronPDF, los desarrolladores pueden generar PDF sin problemas a partir de diversas fuentes, como HTML, imágenes y documentos existentes, manteniendo un control preciso sobre el formato y el diseño. Ya se trate de crear informes dinámicos, convertir contenido HTML a PDF o añadir anotaciones a documentos existentes, IronPDF agiliza el proceso de gestión de PDF, lo que lo convierte en un activo inestimable para los desarrolladores de C# que buscan una solución fiable y eficaz para sus necesidades de gestión de documentos.

5.1. Instalación de IronPDF

Para instalar IronPDF sin problemas, aproveche el gestor de paquetes NuGet de Visual Studio. El paquete designado para la instalación se titula IronPDF. Basta con copiar y pegar el siguiente comando en la consola del gestor de paquetes y pulsar Intro:

Install-Package IronPdf

5.2. Integración de IronPDF con Aspire Component

La integración de IronPDF con el componente Aspire es la misma que la integración con la aplicación web Blazor, ya que los componentes Aspire pueden utilizar la aplicación Blazor como componente. En este ejemplo de código, cambiaremos el código de la Página Contador para crear y descargar un archivo PDF.

Abra el archivo counter.razor y reemplace el código por el siguiente.

@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();
        //  Crear un PDF a partir de una cadena HTML usando C#
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        //  Exportar a un archivo o 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();
        //  Crear un PDF a partir de una cadena HTML usando C#
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
        //  Exportar a un archivo o 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()
		'  Crear un PDF a partir de una cadena HTML usando C#
		Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
		'  Exportar a un archivo o Stream
		JSRuntime.InvokeVoidAsync("saveAsFile", "output.pdf", Convert.ToBase64String(pdf.Stream.ToArray()))
	End Sub
End Class
VB   C#

A continuación, escriba el código JavaScript para descargar el archivo PDF. Escriba este código en la etiqueta script en el ámbito de la etiqueta HTML body. A continuación encontrará el código que debe añadir a su proyecto.

<script type="text/javascript">
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            //Descargar documento en el navegador Edge
            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); //  Necesario para Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/javascript">
    function saveAsFile(filename, bytesBase64) {
        if (navigator.msSaveBlob) {
            //Descargar documento en el navegador Edge
            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); //  Necesario para Firefox
            link.click();
            document.body.removeChild(link);
        }
    }
</script>
<script type="text/javascript"> [function] saveAsFile(filename, bytesBase64)
If True Then
		If navigator.msSaveBlob Then
			'Descargar documento en el navegador Edge
			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) '  Necesario para Firefox
			link.click()
			document.body.removeChild(link)
		End If
End If
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'</script>
VB   C#

Sólo tiene que ejecutar el código después de que se verá algo como la imagen de abajo.

.NET Aspire (Cómo funciona para los desarrolladores): Figura 3 - Blazor

Para crear y descargar un archivo PDF, pulse el botón Imprimir. Se creará y descargará el archivo PDF llamado output.pdf file.

.NET Aspire (Cómo funciona para los desarrolladores): Figura 4 - Descarga PDF

6. Conclusión

.NET Aspire surge como un marco fundamental, diseñado a propósito para desarrollar aplicaciones robustas, observables y distribuidas en el entorno de la nube. Al proporcionar un conjunto cohesivo de herramientas y patrones de diseño, .NET Aspire simplifica las complejidades asociadas a la creación de aplicaciones nativas de la nube, ofreciendo una orquestación perfecta, integración de componentes y un marco de herramientas fácil de usar. Con un enfoque en la escalabilidad, la resistencia y la capacidad de gestión, .NET Aspire se alinea con el cambio de paradigma hacia los microservicios y las arquitecturas distribuidas.

A medida que los desarrolladores se embarcan en su viaje con .NET Aspire, obtienen acceso a un completo conjunto de funciones, desde aplicaciones multiproyecto orquestadas hasta componentes estandarizados encapsulados en paquetes NuGet. Si se cumplen los requisitos previos y se siguen los sencillos pasos descritos en la guía, los desarrolladores podrán crear, ejecutar y probar aplicaciones .NET Aspire sin esfuerzo.

Además, la integración de IronPDF en los componentes de Aspire muestra la extensibilidad y versatilidad del framework, permitiendo a los desarrolladores incorporar sin problemas capacidades avanzadas de generación y manipulación de PDF en sus aplicaciones nativas en la nube. En general, .NET Aspire, con sus objetivos bien definidos y su enfoque de fácil uso, se posiciona como un activo valioso para los desarrolladores que buscan una solución eficaz y coherente para crear e implantar aplicaciones nativas de la nube dentro del ecosistema .NET.

Para un tutorial completo sobre el uso de IronPDF con aplicaciones web Blazor visite aquí. Para obtener una prueba gratuita de IronPDF, visite aquí para obtener su licencia de prueba gratuita.

< ANTERIOR
C# Protegido (Cómo funciona para los desarrolladores)
SIGUIENTE >
Automapper C# (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123