Pred dvema dnevoma sem ponovno natisnil analizo zagona .NET jedra, ker sem bil ob izidu zapleten v privzeti 5000 port, zato sem jo natančno preučil.
1. Integracija z IIS
Če uporabljate IIS kot gostitelja, potem to ni problem, zmogljiv IIS nam lahko pomaga konfigurirati domeno, port itd. strani. Kar zadeva nameščanje asp.net jedrne spletne aplikacije na IIS, to tukaj ni bistvo. Približno opiši:
Moraš prenesti Net Core SDK in strežniško gostovanje, naslov za prenos pa je https://www.microsoft.com/net/download
Po namestitvi preverite, ali je .NET Core SDK uspešno nameščen na ukazni vrstici dotnet info
Ali je strežniški gostitelj uspešno nameščen v IIS modulu in preslikava handlerja, je prikazano spodaj
Nato nastavite spletno stran in določite datoteke na strani za objavo
Nazadnje je treba programski bazen konfigurirati in izbrati neupravljano, da obstaja zahtevek za posredovanje strežnika.
2. Linux okolje
Da ne omenjam same namestitve, teh je tudi veliko. Po navodilih na uradni spletni strani, torej namestite .NET Core tekoče okolje in ga lahko zaženete.
Tukaj je priporočena objava na blogu za vašo lastno referenco: Nameščanje ASP.NET osnovnih aplikacij v produkcijo (CentOS7)
Nazaj k glavni točki, kako nastaviti URL in parametre vrat
1. Določite v glavni metodi programa
Ta pristop je neprilagodljiv in manj eleganten, tudi če ga preberemo z dodajanjem konfiguracijske datoteke. Takrat sem menil, da Microsoft takšne uporabe zagotovo ne bi priporočal, zato sem nadaljeval z iskanjem.
2. Prenesi spremenljivko okolja
Na internetu sem videl članek Kako konfigurirati Kestrel URL-je v ASP.NET Core RC2,
Čeprav je še vedno konfiguriran prek konfiguracijske datoteke, ni treba brati konfiguracijskih informacij drugim člankom in ga je mogoče uporabiti neposredno z vezavo ali prilepiti kodo, da vidite:
hosting.json
Program.cs
Na ta način lahko tudi posluša
Zdaj poslušate: http://localhost:60000
Zdaj poslušamo: http://localhost:60001
Ni neverjetno! Ne prenesem dejanskega boja, odštejem izvorno kodo! Daleč najboljše pri .NET Core je, da ima izvorno kodo!
S pomočjo virov lahko vemo, da gre predvsem za razred WebHostBuilder, pod imenskim prostorom Microsoft.AspNetCore.Hosting.
Glavna metoda je Build
Glavni cilj tukaj je zgraditi WebHost objekt in nato pogledati naprej
Z ogledom izvorne kode skozi metodo Initialize lahko poznamo URL naslov, ustvarjen z metodo EnsureServer
Tukaj vidimo, da iz konfiguracije bere _config[WebHostDefaults.ServerUrlsKey] in _config[DeprecatedServerUrlsKey].
Vrednost WebHostDefaults.ServerUrlsKey je fiksna vrednost
Vrednost DeprecatedServerUrlsKey je določena na začetku objekta WebHost
Oh! Resnica je razkrita. Tako lahko v konfiguracijski datoteki nastavimo "server.urls".
Povzetek:
Za povzetek, jedro asp.net ob začetku prebralo konfiguracijo v okoljski spremenljivki, dejanska naloga pa je dodati naslednjo konfiguracijo k lastnostim projekta:
Zagnal se je v konzolnem načinu in ugotovil sem, da je bil port zamenjan.
Torej, to je razvojno okolje, kako ga uvesti na proizvodno linijo? To je prav tako zelo preprosto, če vzamemo za primer uvajanje Linuxa, uporabimo daemon supervisorja za zagon programa, dodamo okoljske spremenljivke v zagonsko konfiguracijo nadzornika:
Uspeh z odliko! Niti ene vrstice kode ni treba spreminjati, haha~ |