Forzar el puerto de una aplicación asp.net

Existen varias maneras de forzar el puerto:

1.- Forzar el puerto al ejecutar la aplicación:

# Usando localhost, en la carpeta del proyecto:
dotnet run --urls=http://localhost:5001/

# Para poder acceder desde fuera del equipo (firewall abierto):
dotnet run --urls=http://0.0.0.0:5001/

# En la carpeta de la publicación de la app WebTest.dll:
dotnet WebTest.dll --urls=http://0.0.0.0:5001/

2.- Modificar el archivo appsettings.json

{
   "Urls": "http://0.0.0.0:5001",
   ......
}

O con el formato:

{
    "urls":"http://*.6001;https://*.6002"
}

O usando una sección Kestrel (que tiene prioridad sobre lo anterior):

  "Kestrel": {
    "EndPoints": {
      "Http": {
        "Url": "http://0.0.0.0:5002"
      }
    }
  },

3.- Usar variable de entorno:

  ASPNETCORE_URLS=http://0.0.0.0:5001/

Si queremos usar la variable de entorno en un Dockerfile:

ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080

Y si el Dockerfile se usa en un compose, el docker-compose.yml incluirá:

    ports:
      - "8080"

4.- Mediante programación, en Program.cs

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("http://localhost:14071");

O bien, usando ConfigureKestrel:

builder.WebHost.ConfigureKestrel(serverOptions =>
{
    serverOptions.ListenAnyIP(14072);
});

O bien:

ports:
  - "8080"

Esta entrada fue publicada en C#. Guarda el permalink.