Saat menggunakan WebHostBuilder
di Main
entry-point, bagaimana saya bisa menentukan port yang diikatnya?
Secara default menggunakan 5000.
Perhatikan bahwa pertanyaan ini khusus untuk ASP.NET Core API baru (saat ini dalam 1.0.0-RC2).
.net
asp.net-core
Drew Noakes
sumber
sumber
launchSettings.json
dariProperties
folder. Anda dapat mengubah porta dilaunchUrl
.hosting.json
(lihat jawabannya ), yang digunakan secara default di RC1 dan satu hanya perlu menambahkan.AddJsonFile("hosting.json", optional: true)
(lihat di sini )hosting.json
atau baris perintah untuk mengkonfigurasi pengikatan.Jawaban:
Di ASP.NET Core 3.1, ada 4 cara utama untuk menentukan port khusus:
--urls=[url]
:appsettings.json
, dengan menambahkanUrls
simpul:ASPNETCORE_URLS=http://localhost:5001/
.UseUrls()
, jika Anda lebih suka melakukannya secara terprogram:Atau, jika Anda masih menggunakan pembuat host web alih-alih pembuat host generik:
sumber
UseUrls
adalah pendekatan yang direkomendasikan oleh tim ASP.NET untuk skenario self-hosting (nilai itu sendiri tidak harus hardcoded, jelas). Yang mengatakan, saya memperbarui jawaban saya untuk menyebutkan bagaimana Anda bisa melakukan itu menggunakan pembangun konfigurasi.hosting.json
. Satu-satunya hal yang harus dilakukan adalah memaksa membaca informasi di RC2 (lihat pengumuman ).using Microsoft.Extensions.Configuration.CommandLine;
Anda dapat memasukkan bagian Kestrel di file asp.net core 2.1+ appsettings.json.
sumber
dotnet publish
.Tindak lanjut jawaban untuk membantu siapa saja yang melakukan ini dengan integrasi VS docker Saya perlu mengubah port 8080 untuk menjalankan menggunakan lingkungan "fleksibel" di google appengine.
Anda akan memerlukan yang berikut ini di Dockerfile Anda:
dan Anda harus memodifikasi port di docker-compose.yml juga:
sumber
Solusi alternatif adalah dengan menggunakan
hosting.json
di root proyek.Dan kemudian
Program.cs
sumber
urls
- terima kasih @ManishJainAnda dapat menentukan URL hosting tanpa perubahan apa pun pada aplikasi Anda.
Buat
Properties/launchSettings.json
file di direktori proyek Anda dan isi dengan sesuatu seperti ini:dotnet run
perintah harus memilihlaunchSettings.json
file Anda dan akan menampilkannya di konsol:Detail lebih lanjut: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environmentments
sumber
[ProjectRoot]/Properties/launchSettings.json
, tetapi hal yang indah adalah, ia bekerja tanpa hambatan.dotnet run
Anda perlu akses ke kode sumber.Jika menggunakan
dotnet run
sumber
Di atas .net inti 2.2 metode Dukungan utama args dengan WebHost.CreateDefaultBuilder (args)
Anda dapat membangun proyek Anda dan
bin
menjalankan perintah seperti iniatau dengan multi-url
sumber
Ketika dihosting di wadah buruh pelabuhan (versi linux untuk saya), Anda mungkin mendapatkan pesan 'Sambungan Ditolak'. Dalam hal ini Anda dapat menggunakan alamat IP 0.0.0.0 yang berarti "semua alamat IP pada mesin ini" bukan loopback localhost untuk memperbaiki penerusan port.
sumber
Atau, Anda dapat menentukan port dengan menjalankan aplikasi melalui baris perintah.
Cukup jalankan perintah:
Catatan: Di mana 5001 adalah port yang ingin Anda jalankan.
sumber
Pada .Net Core 3.1 cukup ikuti Microsoft Doc bahwa ini cukup sederhana: kestrel-aspnetcore-3.1
Untuk meringkas:
Tambahkan bagian ConfigureServices di bawah ini ke CreateDefaultBuilder pada
Program.cs
:Tambahkan konfigurasi dasar di bawah ini ke
appsettings.json
file (lebih banyak opsi konfigurasi pada artikel Microsoft):Buka CMD atau Konsol di folder binari Terbitkan / Debug / Rilis proyek Anda dan jalankan:
Nikmati menjelajahi situs / api Anda di http: // localhost: 5002
sumber
Pergi ke properties / launchSettings.json dan temukan nama aplikasi Anda dan di bawah ini, cari applicationUrl. Anda akan melihat, itu menjalankan localhost: 5000, ubah ke apa pun yang Anda inginkan. lalu jalankan dotnet run ...... hore
sumber
Saya memperbaiki masalah port di Net core 3.1 dengan menggunakan yang berikut ini
Di Program.cs
Anda dapat mengakses aplikasi menggunakan
sumber