Ao usar WebHostBuilder
em um Main
ponto de entrada, como posso especificar a porta à qual ele se liga?
Por padrão, ele usa 5000.
Observe que esta pergunta é específica para a nova API do ASP.NET Core (atualmente em 1.0.0-RC2).
.net
asp.net-core
Drew Noakes
fonte
fonte
launchSettings.json
daProperties
pasta. Você pode alterar a porta nolaunchUrl
.hosting.json
(ver a resposta ), que foram utilizados por padrão no RC1 e uma necessidade apenas adicionar.AddJsonFile("hosting.json", optional: true)
(ver aqui )hosting.json
ou da linha de comandos para configurar a ligação.Respostas:
No ASP.NET Core 3.1, existem 4 maneiras principais de especificar uma porta personalizada:
--urls=[url]
:appsettings.json
, adicionando umUrls
nó:ASPNETCORE_URLS=http://localhost:5001/
.UseUrls()
, se você preferir fazê-lo programaticamente:Ou, se você ainda estiver usando o construtor de host da web em vez do construtor de host genérico:
fonte
UseUrls
é a abordagem recomendada pela equipe do ASP.NET para cenários de hospedagem automática (o valor em si não precisa ser codificado, obviamente). Dito isso, atualizei minha resposta para mencionar como você pode fazer isso usando o construtor de configuração.hosting.json
. A única coisa que você precisa fazer é forçar a leitura das informações no RC2 (veja o comunicado ).using Microsoft.Extensions.Configuration.CommandLine;
Você pode inserir a seção Kestrel no arquivo asp.net core 2.1+ appsettings.json.
fonte
dotnet publish
.Resposta de acompanhamento para ajudar qualquer pessoa que faça isso com a integração do docker do VS. Eu precisava mudar para a porta 8080 para executar usando o ambiente "flexível" no google appengine.
Você precisará do seguinte em seu Dockerfile:
e você também precisará modificar a porta no docker-compose.yml:
fonte
Solução alternativa é usar um
hosting.json
na raiz do projeto.E então em
Program.cs
fonte
urls
- obrigado @ManishJainVocê pode especificar o URL de hospedagem sem nenhuma alteração no seu aplicativo.
Crie um
Properties/launchSettings.json
arquivo no diretório do projeto e preencha-o com algo como isto:dotnet run
O comando deve escolher seulaunchSettings.json
arquivo e exibi-lo no console:Mais detalhes: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
fonte
[ProjectRoot]/Properties/launchSettings.json
, mas o mais bonito é que funciona sem problemas.dotnet run
você precisa acessar o código fonte.Se estiver usando
dotnet run
fonte
Acima do .net core 2.2, o método Main support args with WebHost.CreateDefaultBuilder (args)
Você pode criar seu projeto e
bin
executar um comando como esteou com vários URLs
fonte
Quando hospedado em contêineres de docker (versão linux para mim), você pode receber uma mensagem 'Conexão recusada'. Nesse caso, você pode usar o endereço IP 0.0.0.0, que significa "todos os endereços IP nesta máquina" em vez do loopback do host local para corrigir o encaminhamento de porta.
fonte
Como alternativa, você pode especificar a porta executando o aplicativo via linha de comando.
Basta executar o comando:
Nota: Onde 5001 é a porta na qual você deseja executar.
fonte
No .Net Core 3.1 basta seguir o Microsoft Doc que é bem simples: kestrel-aspnetcore-3.1
Para resumir:
Adicione a seção ConfigureServices abaixo ao CreateDefaultBuilder em
Program.cs
:Adicione a configuração básica abaixo ao
appsettings.json
arquivo (mais opções de configuração no artigo da Microsoft):Abra o CMD ou o console na pasta de binários de publicação / depuração / lançamento do projeto e execute:
Desfrute de explorar seu site / API no seu http: // localhost: 5002
fonte
Vá para properties / launchSettings.json e localize seu nome de aplicativo e, abaixo disso, localize applicationUrl. você verá, ele está executando o localhost: 5000, altere-o para o que quiser. e então execute dotnet run ...... hurra
fonte
Corrigi o problema da porta no Net core 3.1 usando o seguinte
No Program.cs
Você pode acessar o aplicativo usando
fonte