Kadangi ".NET Core" yra kelių platformų, "ASP.NET Core" projektai gali veikti tiek "Windows", tiek "Linux", o jei jie įdiegti "Windows", jie gali būti įdiegti IIS arba paleisti tiesiogiai per komandinę eilutę, nepriklausomai nuo IIS paslaugų, nes į "ASP.NET Core" įtraukti "Kestrel" konteineriai.
Daugiau informacijos apie tai, kaip įdiegti ASP.NET pagrindines programas IIS tarnybose, galite rasti toliau:
ASP.NET Core įdiegta IISProceseirNeapdorotasDu hostingo modeliai
Išteklių:
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Apdorojamas modelis
Nuo ASP.NET Core 3.0,Proceso metu vykdomas nuomos režimas pagal numatytuosius nustatymus įjungtas visoms IIS įdiegtoms programoms, web.config failas atrodo taip:
galima pamatytihostingModel="inprocess", proceso modelįKestrel nenaudojamas, bet vietoj to naudoja IISHttpServer(), kad įdiegtų naują žiniatinklio serverį, esantį tiesiogiai IIS programų telkinyje, kuris yra šiek tiek panašus į tai, kaip tradicinis ASP.NET buvo įvestas į IIS.
Toliau pateiktoje diagramoje parodytas ryšys tarp IIS, ASP.NET Core modulių ir procese esančių nuomojamų programų:
Bandydami pasiekti svetainę, galite pamatyti serverį per atsakymo antraštę, kaip parodyta paveikslėlyje žemiau:
Žvelgiant į procesus per užduočių tvarkyklę, yra tik 2 procesai, kaip parodyta paveikslėlyje žemiau:
Neapdorotas modelis
Šis modelis IIS veikia kaip atvirkštinis tarpinis serveris, o gavęs užklausą turi ją persiųsti į "Kestrel" paslaugą, kuri yra kelių platformų žiniatinklio serveris, įterptas į "ASP.NET Core" programas.
Toliau pateiktoje diagramoje parodytas ryšys tarp IIS, ASP.NET Core modulių ir ne proceso nuomojamų programų:
Mes modifikuojame web.config failą taip:
Kai pasiekiame svetainę per naršyklę, matome, kad atsakymo antraštės serverio vertė tapo Kestrel, kaip parodyta paveikslėlyje žemiau:
Tuo pačiu metu pažvelgęs į užduočių tvarkyklę, pastebėjau, kad yra 3 procesai, kaip parodyta paveikslėlyje žemiau:
suvestinė
"InProcess" valdomame modelyje užklausos ir atsakymai pateikiami per "w3wp.exe" arba "IISExpress", o "OutOfProcess" darbuotojo procese tai dotnet.exe InProcess valdomame modelyje naudojamas vienas žiniatinklio serveris, o OutOfProcess valdomame modelyje galima naudoti du žiniatinklio serverius.
Akivaizdi priežastis, kodėl naudojamas naujas "In-Process" modelis, yra ta, kad jis yra greitesnis ir naudoja mažiau išteklių,"InProcess" valdomas modelis užtikrina geresnį našumąNes jis veikia tiesiogiai IIS programų telkinio procese. Nėra vidinio HTTP srauto ir pridėtinių išlaidų, o užklausos apdorojamos nedelsiant.
|