Tā kā .NET Core ir starpplatforma, ASP.NET Core projekti var darboties gan Windows, gan Linux, un, ja tie tiek izvietoti operētājsistēmā Windows, tos var izvietot IIS vai palaist tieši caur komandrindu, neatkarīgi no IIS pakalpojumiem, jo ASP.NET Core ir iekļauti Kestrel konteineri.
Lai iegūtu papildinformāciju par to, kā izvietot ASP.NET pamatlietojumprogrammas IIS pakalpojumos, varat skatīt šeit:
ASP.NET Core ir izvietots IISProcesāunĀrpus procesaDivi hostinga modeļi
Resursu:
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Procesa modelis
Kopš ASP.NET Core 3.0,Procesa viesošana pēc noklusējuma ir iespējota visām IIS izvietotajām lietojumprogrammām, fails web.config izskatās šādi:
var redzēthostingModel="inprocess", procesa modelisKestrel netiek izmantots, bet tā vietā izmanto IISHttpServer(), lai ieviestu jaunu tīmekļa serveri, kas tiek viesots tieši IIS lietojumprogrammu pūlā, kas ir nedaudz līdzīgs tam, kā tradicionālais ASP.NET tika ieviests IIS.
Tālāk esošajā diagrammā ir parādīta saistība starp IIS, ASP.NET Core moduļiem un procesā viesotām lietojumprogrammām:
Mēģinot piekļūt vietnei, jūs varat redzēt serveri, izmantojot atbildes galveni, kā parādīts zemāk redzamajā attēlā:
Aplūkojot procesus, izmantojot uzdevumu pārvaldnieku, ir tikai 2 procesi, kā parādīts zemāk redzamajā attēlā:
Ārpus procesa modelis
Šis modelis IIS darbojas kā apgrieztais starpniekserveris, un, saņemot pieprasījumu, tas ir jāpārsūta uz Kestrel pakalpojumu, kas ir starpplatformu tīmekļa serveris, kas iegults ASP.NET Core lietojumprogrammās.
Tālāk esošajā diagrammā ir parādīta saistība starp IIS, ASP.NET Core moduļiem un ārpus procesa viesotām lietojumprogrammām:
Mēs modificējam web.config failu šādi:
Piekļūstot vietnei, izmantojot pārlūkprogrammu, mēs varam redzēt, ka atbildes galvenes servera vērtība ir kļuvusi par Kestrel, kā parādīts zemāk redzamajā attēlā:
Vienlaikus aplūkojot uzdevumu pārvaldnieku, es atklāju, ka ir 3 procesi, kā parādīts zemāk redzamajā attēlā:
Kopsavilkuma
InProcess pārvaldītajā modelī pieprasījumi un atbildes tiek nodrošinātas, izmantojot w3wp.exe vai IISExpress, savukārt iesaistītajā OutOfProcess darbinieka procesā tas ir dotnet.exe InProcess pārvaldītajā modelī tiek izmantots viens tīmekļa serveris, savukārt pārvaldītajā modelī OutOfProcess var izmantot divus tīmekļa serverus.
Acīmredzams iemesls jaunā procesa modeļa izmantošanai ir tas, ka tas ir ātrāks un patērē mazāk resursu,InProcess pārvaldītais modelis nodrošina labāku veiktspējuJo tas darbojas tieši IIS lietojumprogrammu pūla procesā. Nav iekšējas HTTP datplūsmas un pieskaitāmo izdevumu, un pieprasījumi tiek apstrādāti nekavējoties.
|