Bei Verwendung WebHostBuilder
in aMain
Wie kann ich bei Einstiegspunkt den Port angeben, an den er gebunden ist?
Standardmäßig werden 5000 verwendet.
Beachten Sie, dass diese Frage spezifisch für die neue ASP.NET Core-API ist (derzeit in 1.0.0-RC2).
.net
asp.net-core
Drew Noakes
quelle
quelle
launchSettings.json
vonProperties
Ordnern. Sie können den Port in der ändernlaunchUrl
.hosting.json
(siehe die Antwort ), die standardmäßig in RC1 verwendet wurden und man muss nur hinzufügen.AddJsonFile("hosting.json", optional: true)
(siehe hier )hosting.json
oder der Befehlszeile zum Konfigurieren der Bindung beschrieben.Antworten:
In ASP.NET Core 3.1 gibt es vier Möglichkeiten, einen benutzerdefinierten Port anzugeben:
--urls=[url]
:appsettings.json
durch Hinzufügen einesUrls
Knotens:ASPNETCORE_URLS=http://localhost:5001/
.UseUrls()
, wenn Sie es lieber programmgesteuert ausführen möchten:Oder wenn Sie immer noch den Webhost-Builder anstelle des generischen Host-Builders verwenden:
quelle
UseUrls
ist der vom ASP.NET-Team empfohlene Ansatz für Self-Hosting-Szenarien (der Wert selbst muss natürlich nicht fest codiert sein). Trotzdem habe ich meine Antwort aktualisiert, um zu erwähnen, wie Sie dies mit dem Konfigurations-Builder tun können.hosting.json
. Das einzige, was man tun muss, ist das Lesen der Informationen in RC2 zu erzwingen (siehe Ankündigung ).using Microsoft.Extensions.Configuration.CommandLine;
Sie können den Kestrel-Abschnitt in die Datei asp.net core 2.1+ appsettings.json einfügen.
quelle
dotnet publish
.Follow-up-Antwort, um allen bei der VS-Docker-Integration zu helfen. Ich musste auf Port 8080 wechseln, um die "flexible" Umgebung in Google Appengine verwenden zu können.
In Ihrer Docker-Datei benötigen Sie Folgendes:
und Sie müssen auch den Port in docker-compose.yml ändern:
quelle
Eine alternative Lösung besteht darin, a
hosting.json
im Stammverzeichnis des Projekts zu verwenden.Und dann rein
Program.cs
quelle
urls
- danke @ManishJainSie können die Hosting-URL angeben, ohne Änderungen an Ihrer App vorzunehmen.
Erstellen Sie eine
Properties/launchSettings.json
Datei in Ihrem Projektverzeichnis und füllen Sie sie wie folgt:dotnet run
Der Befehl sollte IhrelaunchSettings.json
Datei auswählen und in der Konsole anzeigen:Weitere Details: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
quelle
[ProjectRoot]/Properties/launchSettings.json
, aber das Schöne ist, es funktioniert reibungslos.dotnet run
benötigen Sie Zugriff auf den Quellcode.Bei Verwendung
dotnet run
quelle
Über .net Core 2.2 die Methode Main Support Args mit WebHost.CreateDefaultBuilder (Args)
Sie können Ihr Projekt erstellen und den
bin
Befehl wie folgt ausführenoder mit Multi-URLs
quelle
Beim Hosting in Docker-Containern (Linux-Version für mich) wird möglicherweise die Meldung "Verbindung abgelehnt" angezeigt. In diesem Fall können Sie die IP-Adresse 0.0.0.0 verwenden, was "alle IP-Adressen auf diesem Computer" anstelle des localhost- Loopbacks bedeutet, um die Portweiterleitung zu korrigieren.
quelle
Alternativ können Sie den Port angeben, indem Sie die App über die Befehlszeile ausführen.
Führen Sie einfach den Befehl aus:
Hinweis: Wobei 5001 der Port ist, auf dem Sie ausgeführt werden möchten.
quelle
Folgen Sie auf .Net Core 3.1 einfach Microsoft Doc, dass es ziemlich einfach ist: kestrel-aspnetcore-3.1
Zusammenfassen:
Fügen Sie CreateDefaultBuilder den folgenden Abschnitt ConfigureServices hinzu
Program.cs
:Fügen Sie der
appsettings.json
Datei die folgende Grundkonfiguration hinzu (weitere Konfigurationsoptionen im Microsoft-Artikel):Öffnen Sie CMD oder Console in Ihrem Projekt. Binärordner veröffentlichen / debuggen / freigeben und führen Sie Folgendes aus:
Viel Spaß beim Erkunden Ihrer Website / API unter Ihrem http: // localhost: 5002
quelle
Gehen Sie zu properties / launchSettings.json und suchen Sie Ihren App-Namen. Suchen Sie darunter applicationUrl. Sie werden sehen, es läuft localhost: 5000, ändern Sie es nach Belieben. und dann dotnet run ...... hurra laufen lassen
quelle
Ich habe das Portproblem in Net Core 3.1 mithilfe der folgenden Schritte behoben
In der Program.cs
Sie können mit auf die Anwendung zugreifen
quelle