Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 42810|Svar: 1

[.NET Core] .NET Core-webbplatsen startar domännamns- och portkonfigurationen

[Kopiera länk]
Publicerad på 2017-05-24 13:30:59 | | | |
För två dagar sedan skrev jag ut en .NET-core-startanalys igen, eftersom jag fastnade i standardporten 5000 när den släpptes, så jag studerade den noggrant.

1. IIS-integration

Om du använder IIS som värd är dessa inte ett problem, kraftfullt IIS kan hjälpa oss att konfigurera domännamn, port osv. på sidan. När det gäller hur man distribuerar en asp.net kärnwebbapplikation på IIS är det inte poängen här. Beskriv det ungefär:

Du behöver ladda ner Net Core SDK och Server Hosting, och nedladdningsadressen är https://www.microsoft.com/net/download



Efter installationen, kontrollera om .NET Core SDK är installerat framgångsrikt på kommandoradens dotnet-info

Om servervärden är framgångsrikt installerad i IIS-modulen och hanterarmappningen visas nedan



Sedan sätter du upp sidan och specificerar filerna till publiceringssidan

Slutligen bör programpoolen konfigureras och väljas ohanterad, så att det finns en server host forwarding-begäran.





2. Linux-miljö

För att inte tala om den specifika installationen, det finns också många av dem. Enligt instruktionerna på den officiella webbplatsen, det vill säga installera .NET Core-miljön så kan den köras.

Här är ett rekommenderat blogginlägg för din egen referens: Att distribuera ASP.NET kärnapplikationer till produktion (CentOS7)



Tillbaka till huvudpoängen, hur man konfigurerar URL- och portparametrar

1. Specificera i huvudmetoden för programmet




Detta tillvägagångssätt är oflexibelt och inte lika elegant även om det läses genom att lägga till en konfigurationsfil. Vid den här tiden kände jag att Microsoft definitivt inte skulle rekommendera en sådan användning, så jag fortsatte att leta efter den.

2. Skicka miljövariabeln

Jag såg en artikel på Internet om hur man konfigurerar Kestrel-URL:er i ASP.NET Core RC2,

Även om den fortfarande konfigureras via konfigurationsfilen behöver den inte läsa upp konfigurationsinformationen till andra artiklar, och den kan användas direkt genom att binda eller klistra in koden för att se:

hosting.json


Program.cs



På så sätt kan den också lyssna

Nu lyssnar vi vidare: http://localhost:60000

Nu lyssnar vi vidare: http://localhost:60001

Visst är det fantastiskt! Jag står inte ut med själva striderna, dra av källkoden! Det bästa med .NET Core är utan tvekan att det har källkod!

Genom att använda källor kan vi veta att det främst är WebHostBuilder-klassen, under namnrymden Microsoft.AspNetCore.Hosting.

Huvudmetoden är Bygg



Huvudfokus här är att bygga ett WebHost-objekt och sedan titta vidare

Genom att titta på källkoden via Initialize-metoden kan vi känna till URL-adressen som skapats av EnsureServer-metoden




Här kan vi se att den läser _config[WebHostDefaults.ServerUrlsKey] och _config[DeprecatedServerUrlsKey] från konfigurationen.

Värdet för WebHostDefaults.ServerUrlsKey är ett fast värde



Värdet DeprecatedServerUrlsKey definieras i början av WebHost-objektet



Åh! Sanningen avslöjas. Så vi kan ställa in "server.urls" i konfigurationsfilen.


Sammanfattning:

Sammanfattningsvis kommer asp.net kärna att läsa konfigurationen i miljövariabeln när den startar, och det faktiska syftet är att lägga till följande konfiguration i projektets egenskaper:



Den har startats i konsolläge och upptäckt att porten har bytts.

Så detta är en utvecklingsmiljö, hur implementerar man den på produktionslinjen? Detta är också mycket enkelt, med Linux-utrullning som exempel, med hjälp av daemon supervisor för att starta programmet, lägg till miljövariabler i supervisorns startkonfiguration:


Lyckas med bravur! Inte en enda rad kod behöver ändras, haha~




Föregående:Startande supervisor: Fel: Ett annat program lyssnar redan på en port th...
Nästa:CSS-PC- och mobiltelefonanpassningsproblem
Publicerad på 2021-10-06 09:49:34 |
Bra grejer. Tack till ägaren för att han tillhandahöll !!
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com