Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
En el panorama moderno del desarrollo de software, la creación e implantación de aplicaciones distribuidas puede resultar compleja y difícil. La gestión de múltiples servicios, dependencias y entornos de despliegue suele requerir un esfuerzo y una coordinación considerables. Para hacer frente a estos retos, Microsoft introdujoProyecto Tyeuna herramienta para desarrolladores diseñada para simplificar el desarrollo, las pruebas y la implantación de aplicaciones .NET. En este artículo, nos adentraremos en el mundo de Tye, explorando sus características, ventajas y aplicaciones prácticas para desarrolladores .NET. También aprenderemos sobreIronPDFuna biblioteca de generación de PDF de**Software de hierroy usoTye yIronPDF en un ejemplo práctico.
Tye es una herramienta experimental de código abierto para desarrolladores que agiliza el proceso de creación, prueba e implantación de aplicaciones de proyectos .NET con una configuración mínima. Desarrollado por el equipo de ingeniería de Microsoft,Tye tiene como objetivo simplificar el flujo de trabajo de desarrollo, proporcionando un enfoque coherente y de opinión para la gestión de microservicios y sus dependencias. En esencia, Tye adopta los principios de la contenedorización, la orquestación y la productividad de los desarrolladores para permitir el desarrollo y la implantación de aplicaciones sin fisuras.
Tye detecta y gestiona automáticamente las dependencias entre servicios dentro de una aplicación .NET. Aprovecha los metadatos del proyecto y los contenedores Docker para inferir las relaciones entre servicios, lo que facilita la coordinación de la comunicación y la orquestación entre microservicios. Esto facilita el desarrollo de microservicios con múltiples proyectos.
Tye se integra perfectamente con Visual Studio y Visual Studio Code, proporcionando un entorno de desarrollo familiar para los desarrolladores .NET. Ofrece herramientas para depurar, registrar y supervisar los componentes de las aplicaciones, lo que permite una rápida iteración y resolución de problemas durante el desarrollo.
Tye adopta los contenedores Docker como unidad de despliegue para aplicaciones .NET. Genera automáticamente archivos Docker para cada servicio basándose en las configuraciones del proyecto, lo que facilita la creación de contenedores coherentes y reproducibles en entornos de desarrollo y producción, facilitando las pruebas y el despliegue de microservicios.
Tye simplifica el desarrollo local orquestando dependencias y servicios dentro de un único entorno. Los desarrolladores pueden poner en marcha toda la pila de aplicaciones con un solo comando, lo que elimina la necesidad de configurar manualmente las dependencias.
Tye ofrece soporte integrado para la implantación de aplicaciones .NET en clústeres Kubernetes. Genera manifiestos de Kubernetes y diagramas de Helm basados en las especificaciones del proyecto, agilizando el proceso de despliegue y promoviendo las mejores prácticas para la orquestación de contenedores en entornos nativos de la nube.
Tye se integra con herramientas de observabilidad populares como Prometheus y Grafana para proporcionar información sobre el rendimiento y el estado de las aplicaciones. Expone métricas y registros de los componentes de la aplicación, lo que permite a los desarrolladores supervisar la utilización de los recursos, identificar cuellos de botella y diagnosticar problemas en tiempo real.
Exploremos algunos escenarios prácticos en los que Tye puede agilizar el desarrollo y la implantación de aplicaciones .NET:
# Start Tye in local development mode with tye run command
tye run
# Start Tye in local development mode with tye run command
tye run
IRON VB CONVERTER ERROR developers@ironsoftware.com
Build Docker images for Tye services with available solution file
tye build
Build Docker images for Tye services with available solution file
tye build
IRON VB CONVERTER ERROR developers@ironsoftware.com
Deploy Tye application to Kubernetes cluster
tye deploy --interactive // deploy microservices and distributed applications
Deploy Tye application to Kubernetes cluster
tye deploy --interactive // deploy microservices and distributed applications
IRON VB CONVERTER ERROR developers@ironsoftware.com
Para empezar con Tye:
Instalar .NET Core 3.1(no compatible con versiones superiores) en su máquina.
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
IRON VB CONVERTER ERROR developers@ironsoftware.com
Cree una nueva carpeta para sus microservicios.
mkdir microservices
cd microservices
dotnet new razor -n frontend // frontend service or backend service
mkdir microservices
cd microservices
dotnet new razor -n frontend // frontend service or backend service
IRON VB CONVERTER ERROR developers@ironsoftware.com
tye run frontend // frontend project or backend project
tye run frontend // frontend project or backend project
IRON VB CONVERTER ERROR developers@ironsoftware.com
Esto construirá, ejecutará y monitorizará la aplicación frontend. Puede acceder al panel de control de Tye en http://localhost:8000 para ver el estado de sus servicios
Tye tiene un archivo de configuración opcional, tye.yaml, que permite personalizar los ajustes. Este archivo YAML incluye todos sus proyectos y dependencias externas. Si ya tienes una solución, Tye la rellenará automáticamente con todos tus proyectos actuales.
Para inicializar este archivo YAML, navegue hasta el directorio de microservicios y ejecute el siguiente comando para generar un archivo tye.yaml por defecto:
tye init
tye init
IRON VB CONVERTER ERROR developers@ironsoftware.com
Se crea un archivo tye.yaml como se muestra a continuación
name: myawesomeapplication
services:
- name: backendtest
project: backend/backend.csproj
bindings:
- port: 7000
- name: frontendtest
project: frontend/frontend.csproj
replicas: 2
bindings:
- port: 8000
- name: workertest
project: worker/worker.csproj
- name: rabbit
image: rabbitmq:3-management
bindings:
- port: 5672
protocol: rabbitmq
Flujo de trabajo de desarrollo simplificado: Tye simplifica el flujo de trabajo de desarrollo proporcionando un conjunto unificado de herramientas para crear, probar y depurar aplicaciones .NET localmente.
Tiempo de comercialización acelerado: Al automatizar tareas comunes como el descubrimiento de servicios, la gestión de dependencias y la contenedorización, Tye reduce el tiempo y el esfuerzo necesarios para desplegar aplicaciones en entornos de producción.
Colaboración mejorada: Tye fomenta la colaboración entre los equipos de desarrollo, operaciones y DevOps al proporcionar una plataforma común para gestionar las dependencias de las aplicaciones y las configuraciones de despliegue.
Preparación para la nube nativa: Tye dota a las aplicaciones .NET de las herramientas y prácticas necesarias para ejecutarse en entornos nativos de la nube, como Kubernetes, lo que permite a las organizaciones adoptar paradigmas de infraestructura modernos con confianza.
El proyecto Tye incluyeLicencia MIT de uso gratuito para fines comerciales y de desarrollo.
IronPDF es una potente biblioteca de C# diseñada para crear, editar y firmar PDF a partir de HTML, CSS, imágenes y JavaScript. Ofrece un rendimiento de nivel comercial con un bajo consumo de memoria.
Convierta archivos HTML, cadenas HTML y URL en PDF. Por ejemplo, renderiza una página web como PDF utilizando el renderizador de PDF de Chrome.
Compatible con varias plataformas .NET, incluidas .NET Core, .NET Standard y .NET Framework. Es compatible con Windows, Linux y macOS.
Establezca propiedades, añada seguridad con contraseñas y permisos, y aplique firmas digitales a sus PDF.
Personalice los PDF con encabezados, pies de página, números de página y márgenes ajustables. Admite diseños adaptables y tamaños de papel personalizados.
Cumple estándares PDF como PDF/A y PDF/UA. Admite la codificación de caracteres UTF-8 y gestiona activos como imágenes, CSS y fuentes.
Veamos ahora un ejemplo práctico con estas dos bibliotecas.
En primer lugar, vamos a crear una aplicación Razor de Visual Studio. Abra Visual Studio, cree un nuevo proyecto y seleccione la aplicación razor como se muestra a continuación.
Indique el nombre y la ubicación del proyecto.
En el siguiente paso, seleccione la versión de .NET Framework y haga clic en Crear. Dado que Tye sólo trabaja con .NET 3.1, seleccionaremos el mismo.
InstalePaquete IronPDF de NuGet de Visual Studio Package Manager.
A continuación, abra el explorador de archivos y vaya a la carpeta de la solución. A continuación, abra el símbolo del sistema CMD.
Instale Tye utilizando el siguiente comando:
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
IRON VB CONVERTER ERROR developers@ironsoftware.com
O si ya tienes Tye instalado y quieres actualizarlo utiliza el siguiente comando:
dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
IRON VB CONVERTER ERROR developers@ironsoftware.com
Inicialice Tye utilizando el siguiente comando:
tye init
tye init
IRON VB CONVERTER ERROR developers@ironsoftware.com
Esto creará un archivo YAML de plantilla como el que se muestra a continuación:
# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
# https://aka.ms/AA7q20u
#
# define global settings here
# name: exampleapp # application name
# registry: exampleuser # dockerhub username or container registry hostname
# define multiple services here
services:
- name: frontend
project: Frontend\Frontend.csproj # msbuild project path (relative to this file)
# executable: app.exe # path to an executable (relative to this file)
args: -f=netcoreapp3.1 # arguments to pass to the process
# replicas: 5 # number of times to launch the application
# env: # array of environment variables
# - name: key
# value: value
# bindings: # optional array of bindings (ports, connection strings)
# - port: 8080 # number port of the binding
Ejecute Tye con el siguiente comando:
tye run frontend
tye run frontend
IRON VB CONVERTER ERROR developers@ironsoftware.com
Esto abrirá el panel de Tye en la URL: http://127.0.0.1:8000/
para ver la aplicación en funcionamiento.
A continuación, añade el siguiente código al proyecto para generar un documento PDF a partir de la URL de cualquier sitio web con solo pulsar un botón.
Añada el siguiente código al archivo Index.cshtml:
@page
@model IndexModel
@{
ViewData["Title"] = "Generate PDF";
}
<form method="post" class="text-center flex-row">
<h1 class="display-4">Welcome To Url To PDF Generator </h1>
<p>Enter Website Url:
<button type="submit">Generate PDF</button>
@if (Model.Message != null)
{
<p>@Model.Message</p>
}
</form>
@page
@model IndexModel
@{
ViewData["Title"] = "Generate PDF";
}
<form method="post" class="text-center flex-row">
<h1 class="display-4">Welcome To Url To PDF Generator </h1>
<p>Enter Website Url:
<button type="submit">Generate PDF</button>
@if (Model.Message != null)
{
<p>@Model.Message</p>
}
</form>
IRON VB CONVERTER ERROR developers@ironsoftware.com
A continuación, añada el código siguiente a Index.cshtml.cs:
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
namespace Frontend.Pages
{
public class IndexModel : PageModel
{
public string Message { get; set; }
[BindProperty]
public string UrlInput { get; set; }
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public void OnGet()
{
}
public IActionResult OnPost()
{
if (string.IsNullOrEmpty(UrlInput))
{
ModelState.AddModelError("UrlInput", "Please enter some text.");
return Page();
}
// Create PDF from ChromePdfRenderer
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(UrlInput);
// Return the PDF as a file result
var pdfBytes = pdf.BinaryData;
return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
}
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
namespace Frontend.Pages
{
public class IndexModel : PageModel
{
public string Message { get; set; }
[BindProperty]
public string UrlInput { get; set; }
private readonly ILogger<IndexModel> _logger;
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
}
public void OnGet()
{
}
public IActionResult OnPost()
{
if (string.IsNullOrEmpty(UrlInput))
{
ModelState.AddModelError("UrlInput", "Please enter some text.");
return Page();
}
// Create PDF from ChromePdfRenderer
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf(UrlInput);
// Return the PDF as a file result
var pdfBytes = pdf.BinaryData;
return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Ahora ejecute Tye como se indica a continuación:
Esto abrirá el panel de control de Tye.
Ahora haga clic en cualquiera de los enlaces de la sección de enlaces para abrir la aplicación del generador de PDF e introduzca una URL de ejemplo para la generación de PDF.
Haga clic en el botón Generar para obtener el siguiente PDF:
Explicación del código
Index.cshtml contiene el botón y la entrada para tomar la URL del sitio web y activar la generación del PDF.
Index.cshtml.cs contiene el código necesario para generar el documento PDF mediante IronPDF.
Utilizamos la clase ChromePdfRenderer y RenderUrlAsPdf() método para generar el PDF a partir de la URL.
Esta URL generada se devuelve como respuesta al método Post.
El comando Tye Run lanzará el panel de control de Tye donde podrá ver todos los servicios en ejecución.
VisiteLicencias IronPDF página.
Coloque la clave de licencia en el archivo appSettings.json como se muestra a continuación:
{
"IronPdf.License.LicenseKey" : "The Key Here"
}
En conclusión,Tye representa un avance significativo en el ecosistema .NET, ya que ofrece un enfoque simplificado para crear, probar e implantar aplicaciones distribuidas. Tanto si eres un desarrollador .NET experimentado como si eres nuevo en el mundo de los contenedores y los microservicios, Tye proporciona una plataforma fácil de usar para adoptar prácticas de desarrollo modernas y acelerar tu viaje hacia la arquitectura nativa en la nube.
IronPDF es una biblioteca .NET que permite a los desarrolladores crear, manipular y renderizar fácilmente documentos PDF a partir de contenido HTML. Admite la conversión de HTML a PDF, la fusión y división de PDF y la adición de encabezados, pies de página y marcas de agua. IronPDF es conocido por su facilidad de uso, su renderizado de alta calidad y su compatibilidad con aplicaciones .NET Core y .NET Framework. Conocer tanto elIronPDF y la bibliotecaTye los desarrolladores pueden adquirir conocimientos avanzados para desarrollar aplicaciones modernas con funciones de generación de PDF.
9 productos API .NET para sus documentos de oficina