Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 42810|Antwoord: 1

[.NET Core] De .NET Core-website start de domeinnaam- en poortconfiguratie

[Link kopiëren]
Geplaatst op 24-05-2017 13:30:59 | | | |
Twee dagen geleden heb ik een .NET core-opstartanalyse opnieuw afgedrukt, omdat ik verstrikt zat in de standaard 5000-poort toen die werd uitgebracht, dus heb ik die zorgvuldig bestudeerd.

1. IIS-integratie

Als je IIS als host gebruikt, zijn deze geen probleem; krachtige IIS kan ons helpen de domeinnaam, poort, enzovoort van de site te configureren. Wat betreft hoe je een asp.net kernwebapplicatie op IIS uitrolt, dat is hier niet het punt. Beschrijf het globaal:

Je moet de Net Core SDK en Server Hosting downloaden, en het downloadadres is https://www.microsoft.com/net/download



Controleer na de installatie of de .NET Core SDK succesvol is geïnstalleerd op de commandoregel-dotnet-info

Of de serverhost succesvol is geïnstalleerd in de IIS-module en handler mapping wordt hieronder getoond



Stel vervolgens de site in en geef de bestanden aan op de publicatiesite

Ten slotte moet de programmapool worden geconfigureerd en kies voor onbeheerd, zodat er een server host forwarding-verzoek is.





2. Linux-omgeving

Om nog maar te zwijgen van de specifieke installatie, er zijn er ook veel van. Volgens de instructies op de officiële website installeer je de .NET Core-run environment en kan deze draaien.

Hier is een aanbevolen blogpost voor je eigen referentie: Uitrollen ASP.NET Core-applicaties in productie (CentOS7)



Terug naar het hoofdpunt, hoe je URL- en poortparameters configureert

1. Specificeer in de hoofdmethode van het programma




Deze aanpak is inflexibel en niet zo elegant, zelfs niet als deze wordt gelezen door een configuratiebestand toe te voegen. Op dat moment had ik het gevoel dat Microsoft zo'n gebruik zeker niet zou aanraden, dus bleef ik ernaar zoeken.

2. Geef de omgevingsvariabele door

Ik zag een artikel op het internet Hoe je Kestrel-URL's configureert in ASP.NET Core RC2,

Hoewel het nog steeds via het configuratiebestand wordt geconfigureerd, hoeft het de configuratie-informatie niet aan andere artikelen voor te lezen, en kan het direct worden gebruikt door te binden, of de code te plakken om te zien:

hosting.json


Program.cs



Op deze manier kan hij ook luisteren

Nu luisteren we verder: http://localhost:60000

Nu luisteren we verder: http://localhost:60001

Is het niet geweldig! Ik kan het daadwerkelijke gevecht niet uitstaan, trek de broncode maar af! Het beste aan .NET Core is verreweg dat het broncode heeft!

Door broncode te sourcen kunnen we zien dat het voornamelijk de WebHostBuilder-klasse is, onder de naamruimte Microsoft.AspNetCore.Hosting.

De hoofdmethode is Build



De belangrijkste focus hier is het bouwen van een WebHost-object en daarna verder kijken

Door de broncode via de Initialize-methode te bekijken, kunnen we het URL-adres weten dat is aangemaakt door de EnsureServer-methode




Hier zien we dat het _config[WebHostDefaults.ServerUrlsKey] en _config[DeprecatedServerUrlsKey] leest vanuit de configuratie.

De waarde van WebHostDefaults.ServerUrlsKey is een vaste waarde



De waarde van DeprecatedServerUrlsKey wordt gedefinieerd aan het begin van het WebHost-object



Oh! De waarheid wordt onthuld. Dus we kunnen "server.urls" instellen in het configuratiebestand.


Samenvatting:

Samenvattend zal asp.net kern de configuratie in de omgevingsvariabele lezen wanneer deze start, en het eigenlijke doel is om de volgende configuratie toe te voegen aan de projecteigenschappen:



Hij is gestart in consolemodus en ontdekte dat de poort is gewisseld.

Dus dit is een ontwikkelomgeving, hoe breng je die op de productielijn in? Dit is ook heel eenvoudig, neem Linux-implementatie als voorbeeld: gebruik de daemon supervisor om het programma te starten en voeg omgevingsvariabelen toe aan de opstartconfiguratie van de supervisor:


Succes met vlag en wimpel! Er hoeft geen enkele regel code veranderd te worden, haha~




Vorig:Startsupervisor: Fout: Een ander programma luistert al op een poort th...
Volgend:Aanpassingsproblemen met de breedte van CSS-pc's en mobiele telefoons
Geplaatst op 06-10-2021 09:49:34 |
Goed spul. Dank aan de eigenaar voor het aanleveren van !!
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com