Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 42810|Respuesta: 1

[.NET Core] El sitio web .NET Core inicia la configuración del nombre de dominio y el puerto

[Copiar enlace]
Publicado en 24/5/2017 13:30:59 | | | |
Hace dos días, reimprimí un análisis de arranque de .NET core, porque estaba enredado en el puerto 5000 por defecto cuando salió, así que lo estudié detenidamente.

1. Integración del IIS

Si usas IIS como host, entonces no hay problema, un IIS potente puede ayudarnos a configurar el nombre de dominio, el puerto, etc. del sitio. En cuanto a cómo desplegar una aplicación web asp.net núcleo en IIS, ese no es el punto aquí. Descríbelo de forma aproximada:

Necesitas descargar el SDK de Net Core y el alojamiento del servidor, y la dirección de descarga es https://www.microsoft.com/net/download



Tras la instalación, comprueba si el SDK .NET Core está instalado correctamente en la información de línea de comandos

Si el host del servidor está instalado correctamente en el módulo IIS y el mapeo del manejador se muestra a continuación



Luego configura el sitio y especifica los archivos para el sitio de publicación

Finalmente, el conjunto de programas debe configurarse y elegir no gestionado, para que haya una solicitud de reenvío del host del servidor.





2. Entorno Linux

Sin mencionar la instalación específica, también hay muchas. Según las instrucciones de la web oficial, es decir, instala el entorno de ejecución de .NET Core y puede estar funcionando.

Aquí tienes una entrada recomendada para tu propia referencia: Despliegue de aplicaciones ASP.NET Core en producción (CentOS7)



Volviendo al punto principal, cómo configurar los parámetros de URL y puerto

1. Especificar en el método principal del programa




Este enfoque es inflexible y no tan elegante, incluso si se lee añadiendo un archivo de configuración. En ese momento, sentí que Microsoft definitivamente no recomendaría ese uso, así que seguí buscándola.

2. Pasar la variable de entorno

Vi un artículo en Internet sobre cómo configurar URLs de Kestrel en ASP.NET Core RC2,

Aunque sigue configurándose a través del archivo de configuración, no necesita leer la información de configuración en otros artículos, y puede usarse directamente vinculando o pegando el código para ver:

hosting.json


Program.cs



Así también puede escuchar

Ahora escuchando: http://localhost:60000

Ahora escuchando en: http://localhost:60001

¡No es increíble! No soporto el combate en sí, ¡quita el código fuente! ¡Lo mejor de .NET Core es que tiene código fuente!

Al informar sobre fuentes, podemos saber que es principalmente la clase WebHostBuilder, dentro del espacio de nombres Microsoft.AspNetCore.Hosting.

El método principal es Build



El objetivo principal aquí es construir un objeto WebHost y luego buscar más allá

Al analizar el código fuente mediante el método Initialize, podemos conocer la dirección URL creada por el método EnsureServer




Aquí podemos ver que lee _config[WebHostDefaults.ServerUrlsKey] y _config[DeprecatedServerUrlsKey] desde la configuración.

El valor de WebHostDefaults.ServerUrlsKey es un valor fijo



El valor de DeprecatedServerUrlsKey se define al principio del objeto WebHost



¡Oh! La verdad se revela. Así que podemos establecer "server.urls" en el archivo de configuración.


Resumen:

En resumen, asp.net núcleo leerá la configuración en la variable de entorno cuando se inicia, y el objetivo real es añadir la siguiente configuración a las propiedades del proyecto:



Se ha iniciado en modo consola y he comprobado que el puerto ha sido cambiado.

Así que este es un entorno de desarrollo, ¿cómo desplegarlo en la línea de producción? Esto también es muy sencillo, tomando el despliegue de Linux como ejemplo, usando el supervisor del daemon para iniciar el programa, añadir variables de entorno a la configuración de inicio del supervisor:


¡Ten éxito con nota! No hace falta cambiar ni una sola línea de código, jaja~




Anterior:Supervisor inicial: Error: Otro programa ya está escuchando en un puerto th...
Próximo:Problemas de adaptación del ancho de los PCs y teléfonos móviles
Publicado en 6/10/2021 9:49:34 |
Muy bien. Gracias al propietario por proporcionar !!
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com