При использовании WebHostBuilder
в Main
точке входа, как я могу указать порт, к которому он привязан?
По умолчанию он использует 5000.
Обратите внимание, что этот вопрос относится только к новому ASP.NET Core API (в настоящее время в 1.0.0-RC2).
.net
asp.net-core
Дрю Ноакс
источник
источник
launchSettings.json
изProperties
папки. Вы можете изменить порт вlaunchUrl
.hosting.json
(см. Ответ ), которые были использованы по умолчанию в RC1, и нужно просто добавить.AddJsonFile("hosting.json", optional: true)
(см. Здесь )hosting.json
или командной строки для настройки привязки.Ответы:
В ASP.NET Core 3.1 есть 4 основных способа указать пользовательский порт:
--urls=[url]
:appsettings.json
, добавивUrls
узел:ASPNETCORE_URLS=http://localhost:5001/
.UseUrls()
, если вы предпочитаете делать это программно:Или, если вы все еще используете компоновщик веб-хоста вместо универсального компоновщика хоста:
источник
UseUrls
- это подход, рекомендованный командой ASP.NET для сценариев с самостоятельным размещением (само значение не обязательно должно быть жестко задано). Тем не менее, я обновил свой ответ, чтобы упомянуть, как вы могли бы сделать это с помощью компоновщика конфигурации.hosting.json
. Единственное, что нужно сделать, - это принудительно прочитать информацию в RC2 (см. Объявление ).using Microsoft.Extensions.Configuration.CommandLine;
Вы можете вставить раздел Kestrel в файл asp.net core 2.1+ appsettings.json.
источник
dotnet publish
.Ответьте на вопрос, чтобы помочь кому-либо сделать это с помощью интеграции с докером VS. Мне нужно было перейти на порт 8080, чтобы работать в «гибкой» среде в Google Appengine.
В вашем Dockerfile вам понадобится следующее:
и вам также нужно изменить порт в docker-compose.yml:
источник
Альтернативное решение - использовать
hosting.json
в корне проекта.А потом в
Program.cs
источник
urls
- спасибо @ManishJainВы можете указать хостинг URL без каких-либо изменений в вашем приложении.
Создайте
Properties/launchSettings.json
файл в каталоге вашего проекта и заполните его примерно так:dotnet run
Команда должна выбрать вашlaunchSettings.json
файл и отобразить его в консоли:Более подробная информация: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
источник
[ProjectRoot]/Properties/launchSettings.json
, но прекрасная вещь, это работает без помех.dotnet run
вам необходим доступ к исходному коду.При использовании
dotnet run
источник
Выше .net core 2.2 метод Main support спорит с WebHost.CreateDefaultBuilder (args)
Вы можете построить свой проект и
bin
запустить команду, как этоили с несколькими URL
источник
При размещении в Docker-контейнерах (для меня версия Linux) вы можете получить сообщение «Соединение отказано». В этом случае вы можете использовать IP-адрес 0.0.0.0, что означает «все IP-адреса на этом компьютере» вместо loopback localhost, чтобы исправить переадресацию портов.
источник
Кроме того, вы можете указать порт, запустив приложение через командную строку.
Просто запустите команду:
Примечание. Где 5001 - это порт, на котором вы хотите работать.
источник
На .Net Core 3.1 просто следуйте Microsoft Doc, что это довольно просто: kestrel-aspnetcore-3.1
Подвести итоги:
Добавьте следующий раздел ConfigureServices в CreateDefaultBuilder
Program.cs
:Добавьте приведенную ниже базовую конфигурацию в
appsettings.json
файл (дополнительные параметры конфигурации в статье Microsoft):Откройте CMD или Консоль в папке вашего проекта Publish / Debug / Release binaries и запустите:
Наслаждайтесь изучением вашего сайта / API на вашем http: // localhost: 5002
источник
Перейдите в properties / launchSettings.json и найдите ваше имя приложения, а затем найдите applicationUrl. вы увидите, что он работает localhost: 5000, измените его на все, что вы хотите. а затем запустить дотнет запустить ...... ура
источник
Я исправил проблему с портом в Net core 3.1 с помощью следующего
В программе .cs
Вы можете получить доступ к приложению, используя
источник