Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 42810|Jawab: 1

[Inti .NET] Situs web .NET Core memulai nama domain dan konfigurasi port

[Salin tautan]
Diposting pada 24/05/2017 13.30.59 | | | |
Dua hari yang lalu, saya mencetak ulang analisis startup .NET core, karena saya terjerat dalam port 5000 default ketika dirilis, jadi saya mempelajarinya dengan cermat.

1. Integrasi IIS

Jika Anda menggunakan IIS sebagai host, maka ini tidak masalah, IIS yang kuat dapat membantu kami mengonfigurasi nama domain, port, dll. dari situs. Adapun cara menyebarkan aplikasi web inti asp.net di IIS, bukan itu intinya di sini. Jelaskan secara kasar:

Anda perlu mengunduh Net Core SDK dan Server Hosting, dan alamat unduhannya https://www.microsoft.com/net/download



Setelah penginstalan, periksa apakah .NET Core SDK berhasil diinstal pada info dotnet baris perintah

Apakah host server berhasil diinstal di modul IIS dan pemetaan handler ditunjukkan di bawah ini



Kemudian siapkan situs dan tentukan file ke situs penerbitan

Terakhir, kumpulan program harus dikonfigurasi, dan memilih tidak dikelola, sehingga ada permintaan penerusan host server.





2. Lingkungan Linux

Belum lagi instalasi spesifiknya, ada juga banyak. Menurut instruksi di situs resminya, yaitu, instal lingkungan berjalan .NET Core dan dapat berjalan.

Berikut adalah posting blog yang direkomendasikan untuk referensi Anda sendiri: Menyebarkan aplikasi Inti ASP.NET ke produksi (CentOS7)



Kembali ke poin utama, cara mengkonfigurasi parameter URL dan port

1. Tentukan dalam metode Utama Program




Pendekatan ini tidak fleksibel dan tidak begitu elegan bahkan jika dibaca dengan menambahkan file konfigurasi. Saat ini, saya merasa bahwa Microsoft pasti tidak akan merekomendasikan penggunaan seperti itu, jadi saya terus mencarinya.

2. Lulus variabel lingkungan

Saya melihat sebuah artikel di Internet Cara mengkonfigurasi URL Kestrel di ASP.NET Core RC2,

Meskipun masih dikonfigurasi melalui file konfigurasi, tidak perlu membacakan informasi konfigurasi ke artikel lain, dan dapat digunakan secara langsung dengan mengikat, atau menempelkan kode untuk melihat:

hosting.json


Program.cs



Dengan cara ini juga bisa mendengarkan

Sekarang mendengarkan: http://localhost:60000

Sekarang mendengarkan: http://localhost:60001

Bukankah itu luar biasa! Saya tidak tahan dengan pertempuran yang sebenarnya, kurangi kode sumbernya! Sejauh ini, hal terbaik tentang .NET Core adalah memiliki kode sumber!

Dengan sumber, kita dapat mengetahui bahwa itu terutama kelas WebHostBuilder, di bawah namespace Microsoft.AspNetCore.Hosting.

Metode utamanya adalah Build



Fokus utama di sini adalah membangun objek WebHost dan kemudian melihat lebih jauh

Dengan melihat kode sumber melalui metode Initialize, kita dapat mengetahui alamat URL yang dibuat oleh metode EnsureServer




Di sini kita dapat melihat bahwa itu membaca _config[WebHostDefaults.ServerUrlsKey] dan _config[DeprecatedServerUrlsKey] dari konfigurasi.

Nilai WebHostDefaults.ServerUrlsKey adalah nilai tetap



Nilai DeprecatedServerUrlsKey ditentukan di awal objek WebHost



Aduh! Kebenaran terungkap. Jadi kita dapat mengatur "server.urls" dalam file konfigurasi.


Ringkasan:

Singkatnya, inti asp.net akan membaca konfigurasi dalam variabel lingkungan saat dimulai, dan poin sebenarnya adalah menambahkan konfigurasi berikut ke properti proyek:



Itu telah dimulai dalam mode konsol dan menemukan bahwa port telah dialihkan.

Jadi ini adalah lingkungan pengembangan, bagaimana cara menerapkannya di lini produksi? Ini juga sangat sederhana, mengambil penyebaran Linux sebagai contoh, menggunakan supervisor daemon untuk memulai program, menambahkan variabel lingkungan ke konfigurasi startup supervisor:


Berhasil dengan gemilang! Tidak ada satu baris kode pun yang perlu diubah, haha~




Mantan:Memulai supervisor: Kesalahan: Program lain sudah mendengarkan di port th...
Depan:Masalah adaptasi lebar PC dan ponsel CSS
Diposting pada 06/10/2021 09.49.34 |
Barang bagus. Terima kasih kepada pemilik karena telah memberikan !!
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com