Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 42810|Svare: 1

[.NET Core] .NET Core-nettsiden starter domenenavnet og portkonfigurasjonen

[Kopier lenke]
Publisert på 24.05.2017 13:30:59 | | | |
For to dager siden trykket jeg ut en .NET-kjerne-oppstartsanalyse på nytt, fordi jeg satt fast i standard 5000-porten da den ble sluppet, så jeg studerte den nøye.

1. IIS-integrasjon

Hvis du bruker IIS som vert, er ikke dette et problem, kraftig IIS kan hjelpe oss med å konfigurere domenenavn, port osv. på siden. Når det gjelder hvordan man distribuerer en asp.net kjerne-webapplikasjon på IIS, er ikke det poenget her. Beskriv det grovt:

Du må laste ned Net Core SDK og Server Hosting, og nedlastingsadressen er i https://www.microsoft.com/net/download



Etter installasjon, sjekk om .NET Core SDK er installert vellykket på kommandolinjen dotnet-info

Om serververten er vellykket installert i IIS-modulen og håndtererkartleggingen vises nedenfor



Deretter setter du opp nettstedet og spesifiserer filene til publiseringssiden

Til slutt bør programpoolen konfigureres, og velge uadministrert, slik at det finnes en forespørsel om videresending av serververt.





2. Linux-miljø

For ikke å snakke om den spesifikke installasjonen, det finnes også mange av dem. Ifølge instruksjonene på den offisielle nettsiden, altså installer .NET Core-kjøringsmiljøet, så kan det kjøre.

Her er et anbefalt blogginnlegg for din egen referanse: Distribusjon ASP.NET Core-applikasjoner til produksjon (CentOS7)



Tilbake til hovedpoenget, hvordan konfigurere URL- og portparametere

1. Spesifiser i hovedmetoden for programmet




Denne tilnærmingen er ufleksibel og ikke like elegant selv om den leses ved å legge til en konfigurasjonsfil. På dette tidspunktet følte jeg at Microsoft definitivt ikke ville anbefale en slik bruk, så jeg fortsatte å lete etter det.

2. Send miljøvariabelen

Jeg så en artikkel på Internett: Hvordan konfigurere Kestrel-URLer i ASP.NET Core RC2,

Selv om den fortsatt er konfigurert gjennom konfigurasjonsfilen, trenger den ikke å lese opp konfigurasjonsinformasjonen til andre artikler, og den kan brukes direkte ved å binde, eller lime inn koden for å se:

hosting.json


Program.cs



På denne måten kan den også lytte

Nå lytter vi videre: http://localhost:60000

Nå lytter vi videre: http://localhost:60001

Er det ikke fantastisk! Jeg tåler ikke selve kampen, trekk fra kildekoden! Det beste med .NET Core er uten tvil at det har kildekode!

Ved å kilde kan vi vite at det hovedsakelig er WebHostBuilder-klassen, under Microsoft.AspNetCore.Hosting-navnerommet.

Hovedmetoden er Bygg



Hovedfokuset her er å bygge et WebHost-objekt og deretter se videre

Ved å se på kildekoden gjennom Initialize-metoden, kan vi vite URL-adressen som opprettes av EnsureServer-metoden




Her kan vi se at den leser _config[WebHostDefaults.ServerUrlsKey] og _config[DeprecatedServerUrlsKey] fra konfigurasjonen.

Verdien til WebHostDefaults.ServerUrlsKey er en fast verdi



Verdien av DeprecatedServerUrlsKey defineres i starten av WebHost-objektet



Å! Sannheten blir avslørt. Så vi kan sette "server.urls" i konfigurasjonsfilen.


Sammendrag:

For å oppsummere, asp.net kjernen vil lese konfigurasjonen i miljøvariabelen når den starter, og det egentlige poenget er å legge til følgende konfigurasjon i prosjektets egenskaper:



Den har blitt startet i konsollmodus og oppdaget at porten er byttet.

Så dette er et utviklingsmiljø, hvordan implementere det på produksjonslinjen? Dette er også veldig enkelt, med Linux-distribusjon som eksempel, ved å bruke daemon-supervisoren for å starte programmet, legge til miljøvariabler i supervisorens oppstartskonfigurasjon:


Lykkes med glans! Ikke en eneste kodelinje trenger å endres, haha~




Foregående:Startveileder: Feil: Et annet program lytter allerede på en port th...
Neste:CSS-PC- og mobiltelefonbreddetilpasningsproblemer
Publisert på 06.10.2021 09:49:34 |
Bra saker. Takk til eieren for å ha gitt !!
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com