Kako se osnovni hosting model Asp.Net koristi u web aplikacijama?

Jezgra Asp.net-a je značajno poboljšala model hostinga. Očekivalo se da će u ranijim verzijama ugostiti web aplikacije Asp.net Core putem proxy web poslužitelja kao što su IIS na Windows-u, Apache ili NGINX. No, nova jezgra Asp.net 2.2 omogućuje izravno hosting programa Asp.net u sustavu Windows unutar IIS-a bez zahtjeva za vanjskim poslužiteljem. Stoga se povećava propusnost pomoću jednostavnog mehanizma za internetski hosting.

Hosting Modeli u ASP.NET Core-u

ASP.NET je tehnologija Microsofta koja vam omogućuje stvaranje dinamičnih stranica na strani web poslužitelja.

Hosting ASP.NET je u potpunosti integriran s softverom temeljenim na Windows, kao i sa samim operativnim sustavom. Ova se tehnologija smatra prilično sigurnom i pouzdanom, kao i jednostavnom za upotrebu. Uglavnom se koristi za razvoj proizvoda In-App.

Modeli hostinga u ASP.NET Core dvije su vrste, tj. Hosting u procesu i izvan procesa. Prije ASP.Net Core 2.2 postojao je samo jedan model hostinga, koji je izvanprocesni hosting, ali zbog performansi uvedeni su In-Process Hosting Model u Asp.net jezgri 2.2 verzije.

Uvođenje inter-modela hostinga u jezgru Asp.net-a

Prethodne verzije ASP.NET Core-a zahtijevale su jednu da ugosti aplikaciju u IIS-u primjenom izvanprocesnog modela hostinga koji pristupa putem IIS-a. Zahtjevi koji su pogodili IIS ili IIS Express prosljeđuju se ASP.NET Core web aplikaciji koja radi unutar Kestrel Web Server. No, s novim inter-hosting hostingom koristi se samo jedan poslužitelj za hosting poput IIS, Nginx ili Linux. To znači da se umjesto prosljeđivanja zahtjeva Kestrel-u, nova implementacija web-poslužitelja (IISHttpServer) nalazi u direktorskom sklopu IIS baze podataka koja će poslužiti zahtjevu. S ASP.NET Core 3.1 model internetskog hostinga koristi se kao zadani model kad god razvijete novu aplikaciju pomoću postojećeg predloška.

Očito, ovaj model hostinga ima znatno veće propusnost i poboljšanje performansi u usporedbi s hosting modelom izvan procesa.

Model izvan obrade hostinga

U modelima hostinga koji nisu u obradi možete poslužiti Kestrel server izravno kao poslužiteljski zahtjev prema poslužitelju ili možete implementirati aplikaciju u IIS koji će djelovati kao proxy poslužitelj i slati zahtjeve na interni Kestrel server. U ovakvom modelu hostinga imate dvije mogućnosti za hosting tj. Korištenje Kestrela i proxy servera:

1. Korištenje Kestrela

Kestrel u tome djeluje kao rubni poslužitelj koji izravno zahtijeva zahtjev poslužitelja, što znači da se Kestrel poslužitelj može koristiti samo za aplikaciju.

2. Korištenje proxy poslužitelja

Zbog ograničenja Kestrel servera, ne možete ga koristiti u svim aplikacijama. U takvim slučajevima treba koristiti moćne poslužitelje poput IIS, Apache ili NGINX. Dakle, u ovoj situaciji, ovaj poslužitelj djeluje kao rezervni proxy poslužitelj koji će svaki zahtjev preusmjeriti u interni Kestrel sever gdje se aplikacija izvodi. Ovdje su pokrenuta dva poslužitelja poput IIS i Kestrel.

Ovaj model hostinga je zadani model za sve aplikacije implementirane ranije. NET Core 2.2 verzije. Jedno od ograničenja upotrebe ove vrste kao što je sporost performansi.

Završne misli:

Prema činjenicama, većina tvrtki za razvoj ASP.Net web stranica sigurno želi koristiti model In-Process hostinga. Budući da troši manje resursa i pruža dobre performanse. Kako za Kestrel nije potreban dodatni postupak, izbjegava i dodatnu komunikaciju između IIS-a i Kestrela. Međutim, postoje slučajevi u kojima možda želite izabrati izvanmrežni hosting, kao što je slučaj hostinga iste web aplikacije u sustavu Windows i Linux. Kada govorimo o hostiranju aplikacije na drugim platformama, Kestrel je primarni mehanizam koji se koristi za obradu HTTP zahtjeva na svim platformama.

No, pokretanje In-Process-a na IIS-u je najbolji način ako nemate vrlo specifične uvjete za Kestrel.

Glavna slika: Fotograf Farzad Nazifi na Unsplash-u




komentari (0)

Ostavite komentar