Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Por Daniel Roth, Rick Anderson y Shaun Luttin
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulte la directiva de compatibilidad de .NET y .NET Core. Para la versión actual, consulte la versión de .NET 9 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión de .NET 9 de este artículo.
ASP.NET Core es un marco multiplataforma de alto rendimiento para crear aplicaciones web modernas. Este marco de código abierto permite a los desarrolladores crear aplicaciones web, servicios y API que se pueden ejecutar en Windows, macOS y Linux. Está diseñado para el desarrollo de aplicaciones a gran escala y puede controlar cualquier carga de trabajo de tamaño, lo que lo convierte en una opción sólida para las aplicaciones de nivel empresarial.
Con ASP.NET Core puede hacer lo siguiente:
- Cree aplicaciones web y servicios, aplicaciones de Azure IoT (Internet de las cosas) y backends móviles.
- Usar sus herramientas de desarrollo favoritas en Windows, macOS y Linux.
- Efectuar implementaciones locales y en la nube.
- Ejecute en .NET.
¿Por qué elegir ASP.NET Core?
Millones de desarrolladores usan o han usado ASP.NET 4.x para crear aplicaciones web. ASP.NET Core es un nuevo diseño de ASP.NET 4.x que incluye cambios en la arquitectura que dan como resultado un marco más sencillo y modular.
ASP.NET Core ofrece las siguientes ventajas:
- Un caso unificado para crear API web y una interfaz de usuario web.
- Diseñado para la capacidad de prueba.
- Blazor permite usar C# en el explorador, junto con JavaScript. Comparta la lógica de aplicación del lado cliente y servidor escrita toda con. NET.
- Razor Pages facilita y hace que los escenarios centrados en páginas sean más fáciles y productivos.
- Capacidad para desarrollarse y ejecutarse en Windows, macOS y Linux.
- Código abierto y centrado en la comunidad.
- Integración de marcos modernos del lado cliente y flujos de trabajo de desarrollo.
- Compatibilidad con el hospedaje de servicios de llamada a procedimiento remoto (RPC) mediante gRPC.
- Un sistema de configuración basado en entorno y listo para la nube.
- Inserción de dependencias integrada.
- Una canalización de solicitud HTTP ligera, de alto rendimiento y modular.
- Capacidad para hospedar en lo siguiente:
- Control de versiones en paralelo.
- Herramientas que simplifican el desarrollo web moderno.
Creación de API web e interfaces de usuario web mediante ASP.NET Core MVC
ASP.NET Core MVC proporciona características para crear API web y aplicaciones web:
- El patrón Model-View-Controller (MVC) ayuda a hacer que las API web y las aplicaciones web se puedan probar.
- Blazor, un marco de interfaz de usuario web basado en componentes basado en C# que admite la representación del lado servidor y la representación del lado cliente a través de WebAssembly.
- Razor Pages es un modelo de programación basado en páginas que facilita la creación de la interfaz de usuario web y es más productivo.
- Razor el marcado proporciona una sintaxis productiva para Razor Páginas y vistas MVC.
- Los asistentes de etiquetas permiten que el código del lado servidor participe en la creación y representación de elementos HTML en Razor archivos.
- La compatibilidad integrada con varios formatos de datos y negociación de contenido permite a las API web llegar a una amplia gama de clientes, incluidos exploradores y dispositivos móviles.
- La vinculación de modelos asigna automáticamente datos de solicitudes HTTP a parámetros de los métodos de acción.
- La validación del modelo realiza automáticamente la validación del lado cliente y del lado servidor.
Desarrollo del lado del cliente
ASP.NET Core incluye Blazor para crear una interfaz de usuario web enriquecidamente interactiva y también se integra con otros marcos populares de JavaScript front-end, como Angular, React, Vue y Bootstrap. Para obtener más información, vea ASP.NET Core Blazor y temas relacionados en Desarrollo del lado cliente.
Plataformas de destino de ASP.NET Core
ASP.NET Core 3.x o las versiones posteriores solo pueden tener como destino .NET.
El uso de .NET como destino cuenta con varias ventajas que van en aumento con cada versión. Entre las ventajas del uso de .NET en vez de .NET Framework se incluyen las siguientes:
- Multiplataforma. Es compatible con Windows, macOS y Linux.
- Rendimiento mejorado
- Control de versiones en paralelo
- Nuevas API.
- Código Abierto
Ruta de aprendizaje recomendada
Se recomienda realizar la siguiente secuencia de tutoriales a modo de introducción para desarrollar aplicaciones de ASP.NET Core:
Realice el tutorial correspondiente al tipo de aplicación que quiera desarrollar o mantener.
Tipo de aplicación Escenario Guía Aplicación web Desarrollo de interfaz de usuario web del lado cliente Comienza con Blazor Aplicación web Nuevo desarrollo de interfaz de usuario web del lado servidor Introducción a Razor Pages Aplicación web Mantener una aplicación de MVC Introducción a MVC API Web Servicios HTTP RESTful Creación de una API web† Aplicación de llamada a procedimiento remoto Servicios de contrato primero con búferes de protocolo Introducción a un servicio gRPC Aplicación en tiempo real Comunicación bidireccional entre servidores y clientes conectados Comienza con SignalR Realice un tutorial que muestra cómo realizar el acceso a datos básicos.
Escenario Guía Nuevo desarrollo Blazor con Entity Framework Core Nuevo desarrollo Razor Páginas con Entity Framework Core Mantener una aplicación de MVC MVC con Entity Framework Core Lea una introducción a los aspectos básicos de ASP.NET Core que se aplican a todos los tipos de aplicaciones.
Examine la tabla de contenido para ver otros temas de interés.
†También hay un tutorial de API web interactivo. No es necesario instalar ninguna herramienta de desarrollo localmente. El código se ejecuta en Azure Cloud Shell en el explorador y curl se usa para realizar pruebas.
Migración desde .NET Framework
Para obtener una guía de referencia para migrar aplicaciones de ASP.NET 4.x a ASP.NET Core, consulte Actualización de ASP.NET a ASP.NET Core.
ASP.NET Core es un marco multiplataforma de alto rendimiento y de código abierto para crear aplicaciones modernas, habilitadas para la nube y conectadas a Internet. Con ASP.NET Core puede hacer lo siguiente:
- Cree aplicaciones web y servicios, aplicaciones de Azure IoT (Internet de las cosas) y backends móviles.
- Usar sus herramientas de desarrollo favoritas en Windows, macOS y Linux.
- Efectuar implementaciones locales y en la nube.
- Ejecute en .NET Core o .NET Framework.
¿Por qué elegir ASP.NET Core?
Millones de desarrolladores usan o han usado ASP.NET 4.x para crear aplicaciones web. ASP.NET Core es un nuevo diseño de ASP.NET 4.x que cuenta con cambios en la arquitectura que dan como resultado un marco más sencillo y modular.
ASP.NET Core ofrece las siguientes ventajas:
- Un caso unificado para crear API web y una interfaz de usuario web.
- Diseñado para la capacidad de prueba.
- Blazor permite usar C# en el explorador, junto con JavaScript. Comparta la lógica de aplicación del lado cliente y servidor escrita toda con. NET.
- Razor Pages facilita y hace que los escenarios centrados en páginas sean más fáciles y productivos.
- Capacidad para desarrollarse y ejecutarse en Windows, macOS y Linux.
- Código abierto y centrado en la comunidad.
- Integración de marcos modernos del lado cliente y flujos de trabajo de desarrollo.
- Compatibilidad con el hospedaje de servicios de llamada a procedimiento remoto (RPC) mediante gRPC.
- Un sistema de configuración basado en entorno y listo para la nube.
- Inserción de dependencias integrada.
- Una canalización de solicitud HTTP ligera, de alto rendimiento y modular.
- Capacidad para hospedar en lo siguiente:
- Control de versiones en paralelo.
- Herramientas que simplifican el desarrollo web moderno.
Creación de API web e interfaces de usuario web mediante ASP.NET Core MVC
ASP.NET Core MVC proporciona características para crear API web y aplicaciones web:
- El patrón Model-View-Controller (MVC) ayuda a hacer que las API web y las aplicaciones web se puedan probar.
- Razor Pages es un modelo de programación basado en páginas que facilita la creación de la interfaz de usuario web y es más productivo.
- Razor el marcado proporciona una sintaxis productiva para Razor Páginas y vistas MVC.
- Los asistentes de etiquetas permiten que el código del lado servidor participe en la creación y representación de elementos HTML en Razor archivos.
- La compatibilidad integrada con varios formatos de datos y negociación de contenido permite a las API web llegar a una amplia gama de clientes, incluidos exploradores y dispositivos móviles.
- La vinculación de modelos asigna automáticamente datos de solicitudes HTTP a parámetros de los métodos de acción.
- La validación del modelo realiza automáticamente la validación del lado cliente y del lado servidor.
Desarrollo del lado del cliente
ASP.NET Core se integra perfectamente con bibliotecas y marcos populares del lado cliente, como Blazor, Angular, React, Vue y Bootstrap. Para obtener más información, vea ASP.NET Core Blazor y temas relacionados en Desarrollo del lado cliente.
ASP.NET Core con .NET Framework como destino
ASP.NET Core 2.x puede tener como destino .NET Core o .NET Framework. Las aplicaciones de ASP.NET Core que tienen como destino .NET Framework no son multiplataforma, sino que solo se ejecutan en Windows. Por lo general, ASP.NET Core 2.x se compone de bibliotecas de .NET Standard . Las bibliotecas escritas con .NET Standard 2.0 se ejecutan en cualquier plataforma .NET que implemente .NET Standard 2.0.
ASP.NET Core 2.x se admite en las versiones de .NET Framework que implementan .NET Standard 2.0:
- Se recomienda encarecidamente usar la versión más reciente de .NET Framework.
- .NET Framework 4.6.1 o superior.
ASP.NET Core 3.0 o las versiones posteriores solo se ejecutan en .NET Core. Para obtener más información sobre este cambio, consulte Un primer vistazo a los cambios que vienen en ASP.NET Core 3.0.
El uso de .NET Core como destino cuenta con varias ventajas que van en aumento con cada versión. Entre las ventajas del uso de .NET Core en vez de .NET Framework se incluyen las siguientes:
- Multiplataforma. Ejecución en macOS, Linux y Windows.
- Rendimiento mejorado
- Control de versiones en paralelo
- Nuevas API.
- Código Abierto
Para ayudar a cerrar la brecha de API de .NET Framework a .NET Core, el paquete de compatibilidad de Windows hizo miles de API solo de Windows disponibles en .NET Core. Estas API no estaban disponibles en .NET Core 1.x.
Ruta de aprendizaje recomendada
Se recomienda la siguiente secuencia de tutoriales y artículos para obtener una introducción para desarrollar aplicaciones de ASP.NET Core:
Realice el tutorial correspondiente al tipo de aplicación que quiera desarrollar o mantener.
Tipo de aplicación Escenario Guía Aplicación web Para un nuevo desarrollo Introducción a Razor Pages Aplicación web Para mantener una aplicación MVC Introducción a MVC API Web Creación de una API web† Aplicación en tiempo real Comienza con SignalR Realice un tutorial que muestra cómo realizar el acceso a datos básicos.
Escenario Guía Para un nuevo desarrollo Razor Páginas con Entity Framework Core Para mantener una aplicación MVC MVC con Entity Framework Core Lea una introducción a los aspectos básicos de ASP.NET Core que se aplican a todos los tipos de aplicaciones.
Examine la tabla de contenido para ver otros temas de interés.
†También hay un tutorial de API web que se puede seguir completamente en el navegador, sin necesidad de instalar un IDE local. El código se ejecuta en Azure Cloud Shell y curl se usa para realizar pruebas.
Migración desde .NET Framework
Para obtener una guía de referencia para migrar aplicaciones de ASP.NET a ASP.NET Core, consulte Actualización de ASP.NET a ASP.NET Core.
Cómo descargar un ejemplo
En muchos de los artículos y tutoriales se incluyen vínculos a código de ejemplo.
- Descargue el archivo ZIP del repositorio de ASP.NET.
- Descomprima el archivo
AspNetCore.Docs-main.zip
. - Para acceder a la aplicación de ejemplo de un artículo en el repositorio descomprimido, use la dirección URL del vínculo de ejemplo del artículo para ayudarle a navegar a la carpeta del ejemplo. Normalmente, el vínculo de ejemplo de un artículo aparece en la parte superior del artículo con el texto del vínculo Ver o descargar código de ejemplo.
Directivas de preprocesador en código de ejemplo
Para mostrar varios escenarios, las aplicaciones de ejemplo usan las directivas de preprocesador #define
y #if-#else/#elif-#endif
para compilar de forma selectiva y ejecutar secciones distintas de código de ejemplo. Para los ejemplos que usan este enfoque, establezca la directiva #define
en la parte superior de los archivos C# para definir el símbolo asociado con el escenario que quiera ejecutar. Algunos ejemplos requieren la definición del símbolo en la parte superior de varios archivos para ejecutar un escenario.
Por ejemplo, la siguiente lista de símbolos de #define
indica que hay cuatro escenarios disponibles (un escenario por símbolo). La configuración de ejemplo actual ejecuta el escenario TemplateCode
:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Para cambiar el ejemplo el escenario ExpandDefault
, defina el símbolo ExpandDefault
y deje los símbolos restantes comentados:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Para obtener más información sobre el uso de directivas de preprocesador de C# para compilar de forma selectiva secciones de código, vea #define (Referencia de C#) y #if (Referencia de C#).
Principales cambios y avisos de seguridad
Los cambios importantes y avisos de seguridad se notifican en el repositorio Anuncios. Los anuncios se pueden limitar a una versión específica seleccionando un filtro etiqueta .
Pasos siguientes
Para obtener más información, consulte los siguientes recursos:
- Comienza con Blazor
- Introducción a ASP.NET Core
- Publicación de una aplicación ASP.NET Core en Azure con Visual Studio
- aspectos básicos de ASP.NET Core
- La reunión semanal de la comunidad de ASP.NET cubre el progreso y los planes del equipo. Incluye nuevos blogs y nuevo software de terceros.