Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
.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 elBiblioteca IronPDF para crear y descargar archivos PDF en el componente de proyecto Aspire .NET.
.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:
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.
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.
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.
Antes de empezar a trabajar con .NET Aspire, asegúrese de que los siguientes componentes están instalados localmente:
.NET 8.0: Asegúrese de tener .NET 8.0 instalado en su sistema.
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".
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, puede empezar a desarrollar sus primeros componentes .NET Aspire para aplicaciones.
Para crear aplicaciones .NET Aspire, siga los siguientes pasos.
Abra Visual Studio y haga clic en Crear un nuevo proyecto.
Aparecerá una nueva ventana. En esta nueva ventana, busca Aspire en la barra de búsqueda.
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.
Aparecerá una nueva ventana. En esta nueva ventana escriba el nombre del proyecto y haga clic en Siguiente.
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.
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.
Ahora haz clic en los enlaces para interactuar con .NET. Por ahora, haz clic en las referencias del proyecto y del paquete .NET Aspire web frontend. Se abrirá la nueva página web con un nombre de puerto diferente.
Documentación de IronPDF lo describe como una biblioteca de C# potente y versátil 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.
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
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();
// Create a PDF from an 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 an 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 an 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
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) {
//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>
Sólo tiene que ejecutar el código después de que se verá algo como la imagen de abajo.
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 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 deIronPDF con Blazor aplicaciones web visite el tutorial del blog de IronPDF. Para obtener una versión de prueba gratuita de IronPDF, visite la página web Página de licencias de IronPDF para obtener su licencia de prueba gratuita.
9 productos API .NET para sus documentos de oficina