Paano Ginamit ang Asp.Net Core Hosting Model sa Mga Aplikasyon sa Web?

Ang aspeto ng Asp.net ay may makabuluhang pagpapahusay sa modelo ng pagho-host. Inaasahan sa mga naunang bersyon na mag-host ng mga aplikasyon ng web web Asp.net sa pamamagitan ng mga proxy web server tulad ng IIS sa Windows, Apache o NGINX. Gayunpaman, ang bagong Asp.net core 2.2 ay nagbibigay-daan sa direktang pagho-host ng application ng Asp.net sa Windows sa loob ng IIS nang walang mga panlabas na mga kinakailangan sa server. Sa gayon, madaragdagan ang throughput gamit ang simpleng mekanismo sa Pag-host ng In-Proseso

Mga Modelo sa Pagho-host sa ASP.NET Core

Ang ASP.NET ay isang teknolohiya mula sa Microsoft na nagbibigay -daan sa iyo upang lumikha ng mga dynamic na pahina sa gilid ng web server.

Ang pag -host ng ASP.NET ay ganap na isinama sa Windows based software pati na rin sa operating system mismo. Ang teknolohiyang ito ay itinuturing na ligtas at maaasahan, pati na rin madaling gamitin. Pangunahing ginagamit ito para sa pagbuo ng mga produktong in-app.

Ang mga modelo ng pagho-host sa ASP.NET Core ay ng dalawang uri i.e. In-process Hosting at Out-of-process Hosting. Bago ang ASP.Net Core 2.2 mayroon lamang isang modelo ng pagho-host, na Out-of-process hosting ngunit dahil sa pagganap, In-Process Hosting Model sa Asp.net core 2.2 na bersyon ang ipinakilala.

Panimula ng In-process na Hosting Model sa Asp.net Core

Ang mga nakaraang bersyon ng ASP.NET Core ay kinakailangan ng isa upang mag-host ng application sa IIS gamit ang isang Out-of-Proseso na modelo ng pagho-host na mga proxies sa pamamagitan ng IIS. Ang mga kahilingan na tumama sa IIS o IIS Express ay ipapasa sa ASP.NET Core web application na tumatakbo sa loob ng Kestrel Web Server. Gayunpaman, sa bagong pag-host ng In-process, isang server lang ang ginagamit para sa pagho-host tulad ng IIS, Nginx o Linux. Nangangahulugan ito na sa halip na ipasa ang mga kahilingan sa Kestrel, ang isang bagong pagpapatupad sa Web Server (IISHttpServer) ay direktang mai-host sa loob ng IIS Application Pool, na magsisilbi sa kahilingan. Gamit ang ASP.NET Core 3.1, ang proseso ng pagho-host ng in-proseso ay ginagamit bilang isang default na modelo tuwing bumuo ka ng isang bagong aplikasyon gamit ang isang umiiral na template.

Tila, ang modelong ito ng pagho-host ay may mataas na throughput at pagpapahusay ng pagganap sa paghahambing sa modelo ng pagho-host ng Out-Of-Proseso.

Modelong Pagho-host ng Out-of-Proseso

Sa Out-of-process na mga modelo ng pagho-host, maaari mong gamitin ang direktang server ng Kestrel bilang isang kahilingan ng gumagamit na nakaharap sa server o maaari mong i-deploy ang application sa IIS na kikilos bilang isang proxy server at magpapadala ng mga kahilingan sa panloob na server ng Kestrel. Sa ganitong uri ng modelo ng pagho-host, mayroon kang dalawang mga pagpipilian para sa pagho-host ng mga gumagamit ng Kestrel at Proxy Server:

1. Paggamit ng Kestrel

Sa ito, ang Kestrel mismo ay kumikilos bilang gilid server na direktang hiniling ng gumagamit ng server na nangangahulugang ang isa ay maaari lamang gumamit ng Kestrel server para sa aplikasyon.

2. Paggamit ng isang Proxy Server

Dahil sa mga limitasyon ng Kestrel server, hindi magamit ito ng isa sa lahat ng mga application. Sa ganitong mga kaso, ang isa ay kailangang gumamit ng mga makapangyarihang server tulad ng IIS, Apache o NGINX. Kaya, sa sitwasyong ito, ang server na ito ay kumikilos bilang isang reserve proxy server na magre-redirect sa bawat kahilingan sa panloob na Kestrel na pinagputulan kung saan tumatakbo ang application. Dito, dalawang server tulad ng IIS at Kestrel ang tumatakbo.

Ang modelo ng pagho-host na ito ay isang default na modelo para sa lahat ng mga application na ipinatupad nang mas maaga .NET Core 2.2 bersyon. Ang isa sa mga limitasyon ng paggamit ng ganitong uri tulad ng pagtatagal ng pagganap.

Pangwakas na mga saloobin:

Tulad ng bawat katotohanan, karamihan sa mga kumpanya ng web development ng ASP.Net ay nais na gumamit ng modelo ng pag-host ng In-Proseso. Dahil gumugugol ito ng mas kaunting mga mapagkukunan at nagbibigay ng mahusay na pagganap. Dahil hindi ito nangangailangan ng karagdagang proseso para kay Kestrel at maiiwasan din nito ang labis na komunikasyon sa pagitan ng IIS at Kestrel. Gayunpaman, may mga kaso kung saan nais ng isang tao na pumili ng Out-Of-Proseso ng pagho-host tulad ng sa kaso ng pagho-host ng parehong web application sa Windows at sa Linux. Kung pinag-uusapan ang pagho-host ng application sa iba pang mga platform, si Kestrel ang pangunahing mekanismo na ginamit upang hawakan ang mga kahilingan ng HTTP sa lahat ng mga platform.

Gayunpaman, ang pagpapatakbo ng In-Proseso sa IIS ay ang pinakamahusay na paraan maliban kung mayroon kang isang napaka tiyak na kinakailangan para kay Kestrel.

Pangunahing kredito ng larawan: Larawan ni Farzad Nazifi sa Unsplash




Mga komento (0)

Mag-iwan ng komento