Ker je .NET Core večplatformski, lahko projekti ASP.NET Core tečejo tako na Windows kot na Linuxu, in če so nameščeni na Windows, jih je mogoče namestiti na IIS ali neposredno prek ukazne vrstice, neodvisno od IIS storitev, zaradi vključitve Kestrel kontejnerjev v ASP.NET Core.
Za več informacij o tem, kako namestiti ASP.NET Core aplikacije na IIS storitve, si lahko ogledate naslednje informacije:
ASP.NET Core je nameščen v IISV procesuinIzven postopkaDva gostiteljska modela
Sredstva:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Model med procesom
Od ASP.NET Core 3.0,Gostovanje v procesu je privzeto omogočeno za vse aplikacije, nameščene na IIS, datoteka web.config izgleda takole:
je mogoče videtihostingModel="v procesu", model v procesuKestrel se ne uporablja, vendar namesto tega uporablja IISHttpServer() za implementacijo novega spletnega strežnika, ki je gostovan neposredno znotraj IIS aplikacijskega bazena, kar je nekoliko podobno načinu, kako je bila tradicionalna ASP.NET uvedena v IIS.
Naslednji diagram prikazuje povezavo med IIS, ASP.NET jedrnimi moduli in aplikacijami, ki so gostovane v procesu:
Ko poskušate dostopati do spletne strani, lahko vidite strežnik skozi glavo odgovora, kot je prikazano na spodnji sliki:
Če procese pogledamo skozi upravitelja opravil, sta le 2 procesa, kot je prikazano na spodnji sliki:
Model izven procesa
Ta model IIS deluje kot obratni proxy, in ko prejme zahtevo, jo mora posredovati storitvi Kestrel, ki je večplatformski spletni strežnik, vgrajen v ASP.NET Core aplikacije.
Naslednji diagram prikazuje povezavo med IIS, ASP.NET jedrnimi moduli in aplikacijami, ki so gostovane izven procesa:
Datoteko web.config spreminjamo na naslednji način:
Ko dostopamo do spletne strani prek brskalnika, lahko vidimo, da je vrednost strežnika v glavi odgovora postala Kestrel, kot je prikazano na spodnji sliki:
Ko sem hkrati pogledal upravitelja opravil, sem ugotovil, da obstajajo trije procesi, kot je prikazano na spodnji sliki:
Povzetek
V modelu upravljanega InProcess se zahteve in odgovori zagotavljajo prek w3wp.exe ali IISExpress, medtem ko je v procesu OutOfProcess, ki je vključen, dotnet.exe V upravljanem modelu InProcess se uporablja en spletni strežnik, medtem ko je v modelu upravljanega OutOfProcess mogoče uporabiti dva spletna strežnika.
Očiten razlog za uporabo novega modela v procesu je, da je hitrejši in porabi manj virov,Upravljani model InProcess zagotavlja boljšo zmogljivostKer teče neposredno v procesu IIS aplikacijskega bazena. Ni notranjega HTTP prometa in obremenitve, zahteve pa se obdelujejo takoj.
|