Koska .NET Core on monialustainen, ASP.NET Core -projektit voivat toimia sekä Windowsilla että Linuxilla, ja jos ne otetaan käyttöön Windowsissa, ne voidaan ottaa käyttöön IIS:llä tai ajaa suoraan komentorivin kautta, riippumatta IIS-palveluista, kiitos Kestrel-konttien sisällyttämisen ASP.NET Coreen.
Lisätietoja ASP.NET Core-sovellusten käyttöönotosta IIS-palveluissa saat seuraavista ohjeista:
ASP.NET Core on käytössä IIS:ssäTyön allajaProsessin ulkopuolellaKaksi isännöintimallia
Varat:
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.
In-Process -malli
ASP.NET Core 3.0:sta lähtien,In-Process -isännöinti on oletuksena käytössä kaikille IIS:lle asennetuille sovelluksille, web.config-tiedosto näyttää tältä:
voidaan nähdähostingModel="inprocess", prosessissa oleva malliTuulihaukkaa ei käytetä, mutta käyttää sen sijaan IISHttpServer():ää toteuttaakseen uuden web-palvelimen, joka isännöi suoraan IIS-sovelluspoolissa, mikä muistuttaa perinteistä ASP.NET käyttöönottoa IIS:ään.
Seuraava kaavio havainnollistaa IIS:n, ASP.NET Core -moduulien ja prosessissa olevien isännöityjen sovellusten välistä suhdetta:
Yrittäessäsi päästä sivustolle, näet palvelimen vastausotsikon kautta, kuten alla olevassa kuvassa näkyy:
Kun prosesseja tarkastellaan tehtävienhallinnan kautta, on vain kaksi prosessia, kuten alla olevassa kuvassa näkyy:
Prosessista ulkopuolinen malli
Tämä malli IIS toimii käänteisenä välityspalvelimena, ja kun se vastaanottaa pyynnön, sen täytyy välittää se Kestrel-palvelulle, joka on ASP.NET Core -sovelluksiin upotettu monialustainen verkkopalvelin.
Seuraava kaavio havainnollistaa IIS:n, ASP.NET Core -moduulien ja prosessin ulkopuolisten isännöityjen sovellusten välisen suhteen:
Muokkaamme web.config-tiedostoa seuraavasti:
Kun pääsemme sivustolle selaimen kautta, näemme, että vastausotsikon palvelinarvoksi on tullut Kestrel, kuten alla olevassa kuvassa näkyy:
Katsoessani tehtävienhallintaa samanaikaisesti huomasin, että siinä on kolme prosessia, kuten alla olevassa kuvassa näkyy:
yhteenveto
InProcessin hallinnoidussa mallissa pyynnöt ja vastaukset toimitetaan w3wp.exe:n tai IISExpressin kautta, kun taas OutOfProcess-työntekijäprosessissa ne ovat dotnet.exe InProcess-hallinnoidussa mallissa käytetään yhtä web-palvelinta, kun taas OutOfProcess-hallitussa mallissa voidaan käyttää kahta web-palvelinta.
Ilmeinen syy uuden In-Process -mallin käyttöön on se, että se on nopeampi ja kuluttaa vähemmän resursseja,InProcessin hallittu malli tarjoaa paremman suorituskyvynKoska se toimii suoraan IIS-sovelluspoolin prosessissa. Sisäistä HTTP-liikennettä eikä ylikuormitusta ole, ja pyynnöt käsitellään välittömästi.
|