Két nappal ezelőtt újranyomtattam egy .NET core startup elemzést, mert a megjelenéskor belekeveredtem az alapértelmezett 5000-es portba, ezért alaposan tanulmányoztam.
1. IIS integráció
Ha IIS-t használsz hosztként, ezek nem jelentenek problémát, a hatékony IIS segíthet konfigurálni a domain nevet, portot stb. az oldalon. Ami azt illeti, hogyan lehet asp.net magmagú webalkalmazást telepíteni IIS-en, nem ez a lényeg. Nagyjából írd le:
Le kell tölteni a Net Core SDK-t és a Server Hosting-ot, és a letöltési cím https://www.microsoft.com/net/download
Telepítés után ellenőrizd, hogy a .NET Core SDK sikeresen telepítve van-e a parancssorban a dotnet info-n
Az alábbiakban látható, hogy a szerver hoszt sikeresen telepített-e az IIS modulban és a kezelő leképezés
Ezután állítsd be az oldalt, és megadd a fájlokat a publikációs oldalra
Végül a programpoolt be kell állítani, és választani kell a "nem menedzsel" opciót, hogy legyen szerver hoszt továbbítási kérés.
2. Linux környezet
Nem beszélve a konkrét installációról, sok ilyen is van. A hivatalos weboldalon található utasítások szerint, vagyis telepítsd a .NET Core futókörnyezetet, és az már működhet.
Itt egy ajánlott blogbejegyzés a saját hivatkozásodra: ASP.NET Core alkalmazások gyártásba történő telepítése (CentOS7)
Visszatérve a lényeghez: hogyan konfiguráljuk az URL- és port paramétereket
1. A fő program módszerben határozzák meg
Ez a megközelítés rugalmas és nem olyan elegáns, még akkor sem, ha konfigurációs fájl hozzáadásával olvassuk. Ekkor úgy éreztem, a Microsoft biztosan nem ajánlana ilyen használatot, ezért tovább kerestem.
2. Adja át a környezeti változót
Láttam egy cikket az interneten, hogyan konfiguráljuk a Kestrel URL-eket ASP.NET Core RC2-ben,
Bár továbbra is a konfigurációs fájlon keresztül konfigurálható, nem kell kiolvasnia a konfigurációs információkat más cikkekhez, és közvetlenül használható kötéssel, vagy beilleszthető a kód segítségével, hogy lássuk:
hosting.json
Program.cs
Így hallgatni is tud
Most hallgatom: http://localhost:60000
Most hallgatom: http://localhost:60001
Nem csodálatos! Nem bírom a harcot, levond a forráskódot! Messze a legjobb dolog a .NET Core-ban, hogy van benne forráskód!
Forrásból tudjuk, hogy főként a WebHostBuilder osztály a Microsoft.AspNetCore.Hosting névtér alatt.
A fő módszer a Build
A fő fókusz itt az, hogy egy WebHost objektumot építsünk, majd tovább nézzünk
Ha a forráskódot a Initialize metóduson keresztül megnézzük, megismerhetjük az EnsureServer módszerrel létrehozott URL-címet
Itt látható, hogy a konfigurációból _config[WebHostDefaults.ServerUrlsKey] és _config[DeprecatedServerUrlsKey] olvas.
A WebHostDefaults.ServerUrlsKey értéke fix érték
DeprecatedServerUrlsKey értéke a WebHost objektum elején van meghatározva
Ó! Az igazság kiderül. Így beállíthatjuk a "server.urls" konfigurációs fájlban.
Összefoglaló:
Összefoglalva, asp.net mag elolvassa a környezeti változó konfigurációját induláskor, és a lényeg az, hogy a következő konfigurációt adják hozzá a projekt tulajdonságaihoz:
Konzol módban indították, és kiderült, hogy a port átkapcsolódott.
Ez tehát egy fejlesztői környezet, hogyan lehet telepíteni a gyártósoron? Ez is nagyon egyszerű: például a Linux telepítést használva: a démonfelügyelő segítségével elindítsuk a programot, környezeti változókat adjunk hozzá a felügyelő indítási konfigurációjához:
Sikeres sikerrel rendelkezel! Egyetlen kódsort sem kell megváltoztatni, haha~ |