Yakha usetyenziso lwewebhu lokwenyani nge-ASP.NET Core Razor Pages

Uhlaziyo lokugqibela: 03/15/2026
  • I-Razor Pages inikezela ngemodeli egxile kwiphepha ngaphezulu kwe-ASP.NET Core, yabelana nge-routing enamandla efanayo, i-middleware kunye ne-Razor view engine njenge-MVC.
  • Iiprojekthi zokwenyani zijikeleza ifolda yePages, wwwroot, appssettings.json kunye neProgram.cs, apho iinkonzo, i-middleware kunye nokuphathwa kweempazamo kulungiselelwa khona.
  • Izixhobo ezifana neVisual Studio, Rider kunye neVS Code zilungelelanisa uphuhliso, ukulungisa iimpazamo, ukuzulazula kunye nokulungisa iimodeli, iimbono kunye ne-Razor syntax.
  • I-ASP.NET Core yenza kube lula ukupapasha ii-apps zeRazor kwi-IIS, i-Azure, ii-servers ezenziwe ngokwezifiso okanye i-Docker, ivumela ukuthunyelwa okunokulinganiswa nokuphindaphindwayo.

Ii-apps zewebhu zehlabathi lokwenyani ze-ASP.NET Core Razor

Ukuba uvela kwi-Angular kunye ne-ASP.NET Web API kwaye uqala ukonwabela i-C# kwi-backend, iRazor Pages yindlela yendalo yokuzisa olo vuyo kwi-frontend ngaphandle kokulahla ulwazi lwakho lweJavaScript olukhoyo. Endaweni yokutsiba ngentloko kwi-UI stack eyahlukileyo ngokupheleleyo, unokuhlala kwindawo eqhelekileyo ye-ASP.NET Core, usebenzise i-Razor syntax yokwenza i-server-side rendering, kwaye usafafaze iJavaScript naphi na apho ivakala khona.

I-ASP.NET Core Razor Pages yindlela ecetyiswayo yiMicrosoft yokwakha ii-apps zewebhu zanamhlanje kwi-.NET, enika imodeli ecocekileyo esekelwe kwiphepha ehleli phezu kombhobho onamandla we-ASP.NET Core. Yindlela edibanisa zonke izixhobo, isebenza kakuhle nezixhobo ezifana neVisual Studio, iVisual Studio Code kunye neJetBrains Rider, kwaye ilinganisa ukusuka kwiiprototypes ezincinci ukuya kwinqanaba lemveliso, usetyenziso oluxhaswa yidathabheyisi. Kule khokelo siza kuhamba ngendlela ezakhelwe ngayo ii-apps zeRazor Pages zehlabathi lokwenyani, indlela iProgram.cs ezidibanisa ngayo yonke into, indlela iifayile ezingaguqukiyo kunye noqwalaselo olusebenza ngayo, kunye nendlela izixhobo, ukulungisa iimpazamo kunye nokusasazwa kwazo ezisebenza ngayo.

Yintoni kanye kanye i-ASP.NET Core Razor Pages (kwaye ithelekiswa njani ne-MVC)

I-Razor Pages luphawu lwe-ASP.NET Core olukuvumela ukuba wakhe ii-apps zewebhu ezijikeleze amaphepha endaweni yezilawuli, ezibonelela ngemodeli yengqondo elula ngelixa usebenzisa isakhelo esifanayo nese-MVC. Ngaphantsi kwe-hood isebenza kwi-routing efanayo, i-middleware kunye ne-hosting stack njenge-controllers kunye ne-views, kodwa iphepha ngalinye lilawula indlela yalo yokuziphatha endaweni yokubeka yonke into kwiiklasi zolawulo.

Iphepha ngalinye leRazor lidla ngokumelwa ziifayile ezimbini: ifayile ye-.cshtml yokuphawula kunye nefayile ye-.cshtml.cs ye-C# logic yephepha. Ifayile ye-.cshtml ine-HTML yakho exutywe ne-Razor syntax (umzekelo, ii-loops, iimeko, kunye nabancedisi be-HTML), ngelixa ifayile yekhowudi engasemva kwe-.cshtml.cs ibamba iindlela zokuphatha ezifana ne-OnGet, i-OnPost, iipropathi zemodeli kunye nayo nayiphi na ingqiqo efunekayo ukuze kuboniswe okanye kusetyenzwe iphepha.

Ngaphambi kweRazor Pages, ipateni eyayiphambili kwi-ASP.NET yayiyi-MVC, apho abalawuli babebuyisela khona imibono baze badlulise zonke izicelo ngeendlela zokwenza. I-MVC isaxhaswa ngokupheleleyo kwaye yindlela evavanyiweyo yokulwa neemeko ezinamandla, kodwa kwiimeko ezininzi iRazor Pages ikhawuleza ukuqikelelwa kuba ikhowudi elayisha kwaye icwangcisa iphepha ikufutshane ne-markup yayo endaweni yokungcwatywa kwisilawuli esahlukileyo.

Nangona iRazor Pages isusa ukugxila kwiilawuli, isasebenzisa injini efanayo yokujonga iRazor kwaye ixhasa zombini iHtmlHelpers kunye neTagHelpers ukuvelisa i-HTML eguqukayo. IiTagHelpers ziluncedo kakhulu: zandisa iithegi ze-HTML eziqhelekileyo ezineempawu ezinje asp-action, asp-controller or asp-route ukuze ukwazi ukuxhumanisa iilinki kunye neefom ukuya kwiindawo zokugcina ngaphandle kokubhala ii-URL ezininzi ngesandla okanye iJavaScript emgceni.

Kwabaphuhlisi abasele beyazi iJavaScript kwaye behlala kwi-SPA frameworks, iRazor Pages inikezela ngendlela exutyiweyo: i-HTML enikezelwe yiseva yemithwalo yokuqala ekhawulezayo kunye ne-SEO, kunye neJavaScript kunye neelayibrari zangaphambili zibekwe phezulu apho kufuneka khona. Awuvalelwanga okanye awuchasananga nasiphi na isakhelo se-JS, kwaye ungagcina i-backend kunye ne-frontend kwisisombululo esifanayo, nto leyo eyenza kube lula ukuthunyelwa kunye nokugcinwa.

Ukudala nokusebenzisa usetyenziso lwewebhu lweRazor Pages

Xa udala iprojekthi entsha ye-ASP.NET Core Razor Pages usebenzisa iVisual Studio, iVisual Studio Code okanye iRider, itemplate idibanisa usetyenziso oluncinci kodwa olupheleleyo, kuquka iProgram.cs, ifolda yePages, iifayile zoqwalaselo kunye ne-static web root. Ukusuka apho ufumana indawo yokusebenza onokuyisebenzisa ngoko nangoko uze uyitshintshe ibe yinto ephucukileyo njengekhathalogu yeemuvi okanye naluphi na olunye usetyenziso oluqhutywa yidatha.

Ngaphambi kokuba usebenzise i-app kwi-HTTPS, i-ASP.NET Core kufuneka isebenzise isatifikethi sophuhliso esithenjwa yinkqubo yakho yokusebenza, kwaye okokuqala xa uqhuba iprojekthi ungabona incoko ekucela ukuba uyithembe. Xa loo bhokisi yencoko ivele, ukhetha Ewe ibonisa ukuba ulungile ngesatifikethi sophuhliso lwendawo esisetyenziselwa i-HTTPS traffic kumatshini wakho, nto leyo efunekayo ukuze kuvavanywe ngokufanelekileyo iindawo zokugqibela ezikhuselekileyo ngaphandle kwezilumkiso zesikhangeli.

KwiWindows, kwi-macOS okanye kwiLinux, iVisual Studio Code ikuvumela ukuba uqalise usetyenziso ngokucinezela Ctrl+F5 ukuqhuba ngaphandle kokulungisa iimpazamo, okanye ukusebenzisa iphaneli ethi Run and Debug ukuba ufuna ukuncamathisela i-debugger. Okokuqala, i-VS Code ingakukhuthaza ukuba ukhethe uhlobo lwe-debugger olufana no C#, .NET 5+ kunye ne .NET Core okanye uqwalaselo oluthile lokuqalisa olufana C#: I-RazorPagesMovie [https] I-RazorPagesMovie kuxhomekeke kwinguqulelo ye-.NET kunye noqwalaselo lwendawo yakho yokusebenza.

Emva kokuqalisa, isikhangeli sakho esizenzekelayo sivula kwi-URL efana ne https://localhost:<port>, apho izibuko linikezelwa ngokungacwangciswanga okanye lichazwe kwi-launchSettings.json, kwaye ujonge iphepha lasekhaya elikhonzwa yi-app yeRazor Pages. Kwezinye iitemplate, endaweni yoko uza kubona http://localhost:5001 okanye enye izibuko; into ephambili kukuba localhost ibonisa ukuba ngumatshini wakho kwaye ayingomsingathi wangaphandle.

Nje ukuba ugqibile ukuvavanya, ungayimisa i-app esebenzayo kwi-IDE yakho: kwi-Visual Studio Code sebenzisa imenyu ethi Run uze ukhethe ethi Stop Debugging okanye ucinezele ukutshintsha+F5, ngelixa ukwiVisual Studio yeMac usebenzisa iDebug > Stop Debugging. Oku kubulala umzekelo we-Kestrel web server eyaqalwa kwiseshoni kwaye kukhulula i-port kwezinye iindlela.

Ukuqonda ulwakhiwo lweprojekthi: iifolda kunye neefayile eziphambili

Ii-application zeRazor Pages zeRealworld zicwangciswe ngeefolda ezimbalwa ezibalulekileyo kunye neefayile zoqwalaselo oza kusebenza ngazo rhoqo: iiPages, wwwroot, appssettings.json kunye neProgram.cs (kwaye kwiinguqulelo ezindala, iStartup.cs). Kubalulekile ukuba ukhululeke xa uqhuba ezi zinto kuba phantse zonke izifundo, imizekelo okanye iprojekthi yemveliso zisebenzisa iindlela ezifanayo.

Ifolda yePages yeyona nto iphambili kwiprojekthi yeRazor Pages, equlethe onke amaphepha e-.cshtml kunye nekhowudi yawo ye-.cshtml.cs ngasemva kweefayile kunye noyilo olwabelwana ngalo kunye nemibono engaphelelanga. Isibini ngasinye sephepha (umzekelo i-Index.cshtml kunye ne-Index.cshtml.cs) simele indawo yokugqibela enokubizwa kwi-app yakho, kunye neefayile ezikhethekileyo eziqala nge-underscore, ezinje _Layout.cshtml, chaza umxholo osetyenziswa kwakhona kumaphepha amaninzi.

Ifayile yoyilo, edla ngokubizwa ngokuba _Layout.cshtml, ichaza i-chrome yesiza sakho, njengebha yokuzulazula ephezulu, unyawo kunye nesaziso selungelo lokushicilela, kwaye inika indawo yokubonisa umzimba wephepha ngalinye. Xa utshintsha uyilo, utshintsha ngoko nangoko indlela ezibonakala ngayo zonke iiRazor Pages eziyisebenzisayo, ngoko ke yindawo efanelekileyo yokuhlela iimenyu, uphawu kunye nezikripthi okanye iindlela ezabelwana ngazo.

Ifolda ye-wwwroot yingcambu yewebhu ekhethiweyo apho kuhlala khona ii-asethi ezingashukumiyo, kuquka i-CSS, iJavaScript, imifanekiso kunye neefayile ze-HTML ezicacileyo ezinokukhonzwa ngokuthe ngqo yiseva yewebhu. Nantoni na ebekwe phantsi kwe-wwwroot inokufikelelwa sisikhangeli (ngokuxhomekeke kulungiselelo lwefayile yakho engaguqukiyo), nto leyo eyenza ukuba ibe likhaya elifanelekileyo lamaphepha eesitayile zesiza, iilayibrari ezisecaleni kwabathengi kunye nemifanekiso ekhankanyiweyo kwi-markup yakho.

Uqwalaselo lwe-app luhlala lugcinwa kwi appsettings.json (kunye notshintsho oluthile olukwindawo efana ne-appsettings.Development.json), oluqulathe useto olufana nemitya yonxibelelwano kunye neeflegi zeempawu. Inkqubo yoqwalaselo lwe-ASP.NET Core ilayisha ezi fayile kwaye izidibanise nezinto eziguquguqukayo zendalo kunye nabanye ababoneleli, okwenza kube lula ukubopha amacandelo kwiiklasi zeenketho ezichwetheziweyo kakhulu kwikhowudi yakho.

I-Program.cs kunye nombhobho we-ASP.NET Core

Ifayile yeProgram.cs iqulethe indawo yokungena kwi-app yakho yeRazor Pages kwaye ichaza indlela i-web host, iinkonzo kunye ne-middleware pipeline ezicwangciswa ngayo ngaphambi kokuba isicelo sokuqala sifike kwisiza sakho. Kwiinguqulelo zanamhlanje ze-ASP.NET Core, i-Program.cs isebenzisa imodeli "yokusingatha okuncinci" ecwangcisiweyo enengxelo ephezulu edala i- WebApplicationBuilder aze emva koko akhe aze amisele WebApplication Umzekelo.

Ipateni eqhelekileyo kwi-Program.cs iqala ngo var builder = WebApplication.CreateBuilder(args); omisela i-host ene-defaults eziqhelekileyo, emva koko ubize builder.Services.AddRazorPages(); ukubhalisa iiRazor Pages kwisikhongozeli se-dependence injection. Emva kokumisela iinkonzo, var app = builder.Build(); idala into yesicelo oza kuyidibanisa ne-middleware kunye neendawo zokugqibela.

Ukuphathwa kweempazamo kunye nokuziphatha kokhuseleko kuxhomekeke kakhulu kwindalo esingqongileyo, ngoko ke uhlala ubona uhlolo lwendalo esingqongileyo olufana nolu if (!app.Environment.IsDevelopment()) ukuze kusebenze iimpawu zezinga lemveliso. Ngaphakathi kuloo meko uza kuyifumana rhoqo app.UseExceptionHandler("/Error"); ethumela iimpazamo ezingaphathwanga kwiphepha leMpazamo elizinikeleyo, kwaye app.UseHsts(); eyenza i-HTTP Strict Transport Security (HSTS) isebenze ukuze ifundise iibrowsers ukuba zisebenzise i-HTTPS rhoqo kwidomeyini yakho.

Emva koko umbhobho we-middleware uhlanganiswa ngeefowuni ezifana app.UseHttpsRedirection();, app.UseStaticFiles(); or app.MapStaticAssets();, app.UseRouting(); kwaye ngokuzikhethela app.UseAuthorization(); kulandele iimaphu zesiphelo. Ukuqondisa kwakhona kwe-HTTPS kunyanzela izicelo ze-HTTP ezingakhuselekanga ukuba ziphuculwe zibe yi-HTTPS, i-static file middleware (okanye i-static asset mapping entsha kwi-.NET 9) ivumela ukusethwa ngqo kwezixhobo ezivela kwi-wwwroot, kwaye i-routing igqiba ukuba yeyiphi i-endpoint ephatha i-URL nganye engenayo.

Okokugqibela, iiRazor Pages zifakwe kwi-routing nge app.MapRazorPages(); ngokukhethekayo ibotshelelwe nge .WithStaticAssets(); kwiitemplate ezintsha zokudibanisa ukulungiswa kweeasethi ezingashukumiyo, kwaye usetyenziso luqaliswa ukusebenzisa app.Run();. Ngelo xesha i-app imamela kwiiports ezicwangcisiweyo kwaye iseva yeKestrel ikulungele ukusingatha izicelo zokwenyani, nokuba zisekwindawo eziphuhliswayo okanye zikwi-host yemveliso efana ne-IIS, i-Azure App Service okanye i-Docker.

IiRazor Pages, iimodeli kunye neemodeli zombono kwizicelo zokwenyani

Emva kwayo yonke i-app yeRazor Pages engeyonto ilula kukho iseti yeemodeli zedomeyini kunye neemodeli zokujonga ezimele idatha yakho kunye nendlela eboniswa ngayo, nokuba ulawula ikhathalogu yeemuvi, ibhlog, okanye ideshibhodi yeshishini. Iimodeli zihlala zihambelana kufutshane nee-database, ngelixa iimodeli ze-view zinokulungiswa kwisikrini esinye okanye ukuhamba komsebenzisi, zidityaniswe iimodeli ezininzi okanye amaxabiso alungiselelwe kwangaphambili ukuze kube lula ukuboniswa.

Indlela eqhelekileyo yophuhliso kukuqala ngeeklasi ezilula ze-C# ezisebenzisa amasimi kunye neempawu zendlela njengee-stubs, kwaye ziguqule kancinci kancinci zibe ziimodeli ezifanelekileyo ezineempawu ezifakiweyo, iimpawu zokuqinisekisa kunye ne-logic. Izixhobo ezifana neJetBrains Rider zenza olo tshintsho lube lula ngezenzo ezinenjongo eziguqula ngokuzenzekelayo amasimi abe ziipropati, zenze iintlobo ezifunyenweyo ze-hierarchies zelifa kwaye zisebenzise ezinye iindlela zokuhlaziya njengoko uphucula imodeli yakho yento.

Ilifa kunye neendlela zokunxibelelana zinceda ekuqinisekiseni ulwakhiwo oluhambelanayo lweemodeli zakho, ukuzivumelanisa nemithetho yokwenyani yeshishini kunye nokuvumela i-polymorphism apho ukuziphatha okuthile kwabelwana ngako kodwa ukuphunyezwa kwahlukile. Umzekelo usenokuba nesiseko ContentItem uhlobo oluvela kwi Movie, Series kwaye Documentary iiklasi, nganye ineeyantlukwano ezingabonakaliyo kodwa ikhontrakthi efanayo esetyenziswa kuyo yonke i-app yakho.

Nje ukuba iimodeli zakho zibekwe endaweni yazo, iiRazor Pages okanye iiMVC views zinokwenziwa ngesandla okanye ngezixhobo zescaffolding ezivelisa amaphepha okubhala, ukudala, ukuhlela nokucima izinto. Ukwakha i-scaffolding kukhawulezisa kakhulu uphuhliso lwangethuba kwaye kuqinisekisa ukuba ukuhanjiswa kwe-routing, ukubopha imodeli kunye nokuqinisekiswa kufakwe intambo ngokuchanekileyo, onokuthi emva koko ulungiselele ngokweempawu zakho kunye nesitayile sakho.

I-syntax yerazor esetyenziswa kwiifayile ze-.cshtml idibana kakuhle neemodeli ezichwetheziweyo kakhulu kunye neemodeli zokujonga, ezikuvumela ukuba ubonise idatha, usebenzise ii-loops kunye ne-conditionals, kwaye uvelise amakhonkco kunye neefom usebenzisa i-HtmlHelpers okanye i-TagHelpers ngaphandle kokulahlekelwa lukhuseleko lwexesha lokuqokelela. Olu xube lwe-C# kunye ne-markup lugcina uninzi lwe-logic server ecaleni kodwa luvelisa i-HTML ecocekileyo kwisiphequluli esidlala kakuhle kwi-CSS kunye neJavaScript.

Ukusebenza nge-Razor syntax, iTagHelpers kunye nokuhambahamba kwiRider

I-Razor syntax lulwaleko olulula phezu kwe-HTML oluqala ukusebenza nanini na xa @ kuvela uphawu, okwenza kube lula ukufaka iintetho ze-C#, iingxelo okanye iifowuni zomncedisi ngqo kwi-markup yakho. Ungajonga uluhlu lwezinto, ubonise okanye ufihle izinto ngokusekelwe kwiimeko, okanye ubonise amaxabiso kunye nemihla efomathiweyo ngaphandle kokubhala ulwimi olwahlukileyo lwetemplate okanye usasaze iJavaScript kuyo yonke indawo.

I-TagHelpers ivakala ngathi lulwandiso lwendalo lwe-HTML apho iimpawu ezikhethekileyo ziqala ngo asp- lungisa indlela yokuziphatha okanye imveliso yezinto, rhoqo uthatha indawo yeendlela ezindala zeHtmlHelper kwaye ususe imfuneko yeglue yesikripthi esikwi-inline. Imizekelo ibandakanya asp-action kwaye asp-controller ukuhambisa iithegi zee-anchor kunye neefom ukuya kwizenzo ezithile, okanye iimpawu zendlela ezifana asp-route-id ukudlulisa iiparameters ngokucocekileyo kwii-URL.

Inkxaso ye-IDE ibaluleke kakhulu xa ugxile kwi-HTML, kwaye iRider ibonelela ngeempawu eziluncedo ezifana neebreadcrumbs ezantsi komhleli ukubonisa indawo okuyo ngoku kwisakhiwo soxwebhu. Iibreadcrumbs zingenziwa ngokwezifiso phantsi kwePreferences okanye Options kwicandelo leEditor, kwaye zenza ukuba ukuhamba kwiifayile ezinde zeRazor ezineethegi ezifakwe ngaphakathi kungabi buhlungu kangako.

Kwiiprojekthi ze-MVC, iRider ikwaqonda iindlela ezidibanisa abalawuli, izenzo kunye nemibono, ngoko ke ukuzulazula phezu kweziphumo zesenzo kunokukubonisa iindlela zokujonga ezinokwenzeka kunye Ctrl + Cofa (okanye Cofa kwi-Cmd kwi-macOS) itsiba ngqo kwifayile ye-.cshtml ehambelanayo. Iindlela ezimfutshane ezifana Ctrl + B or Cmd-B nika indlela ekhawulezayo yokuhambahamba kwisiseko sakho sekhowudi ngaphandle kokukhangela ngokusebenzisa abahloli bezisombululo.

Ngaphandle kwezixhobo ezithile zeRazor, iRider ibandakanya uluhlu olubanzi lweenjongo kunye nokulungiswa okukhawulezileyo kweHTML, iCSS kunye neJavaScript ezikunceda ubhale ikhowudi esecaleni yomthengi ecocekileyo neyakhiwe kakuhle ngaphakathi kwe-IDE efanayo ne-C# backend yakho. Olu qhagamshelo luqinileyo lunokonga uninzi lweenguqu zomxholo xa kusakhiwa i-UI entsonkothileyo, esebenzisanayo esaxhomekeke kwimibono okanye amaphepha eRazor anikezelwe yiseva.

Ukulungisa iimpazamo kwiRazor Pages kunye nee-apps ze-ASP.NET Core

Ukulungisa iimpazamo yinto eyenziwa imihla ngemihla kuphuhliso lwewebhu, kwaye ii-apps ze-ASP.NET Core ezisebenzisa iRazor Pages azikho ngaphandle, ngoko ke ukuba nenkxaso enamandla yokulungisa iimpazamo kwi-IDE yakho kubalulekile. Zombini iVisual Studio kunye neRider zibonelela ngee-debuggers ezisebenzisanayo ezinokunamathela kwinkqubo yakho yeKestrel, zidlule kwikhowudi ye-C#, zihlole ii-variables kwaye zivavanye ii-expression ngelixa i-app isebenza.

I-Rider's debugger kwiWindows ixhasa i-Edit kunye ne-Continue, ekuvumela ukuba ulungise ikhowudi ngelixa i-app imisiwe kwindawo yokuphazamiseka kwaye usebenzise utshintsho ngaphandle kokuqalisa kwakhona yonke iseshoni yokulungisa iimpazamo. Loo mandla okulungisa iimpazamo ezincinci okanye ukwenza uvavanyo ngexesha lokulungisa iimpazamo akhawulezisa kakhulu ukusombulula iingxaki, ingakumbi kwiiprojekthi ezinkulu ezinamaxesha okuqalisa angengomsebenzi anzima.

Iphepha elingaqhelekanga lomphuhlisi kwi-ASP.NET Core livulwa ngokuzenzekelayo xa indawo imiselwe kwi-Development, nto leyo ekunika umkhondo oneenkcukacha ze-stack, ulwazi lwesicelo kunye nokuxilongwa nanini na xa kuvela iimeko ezingaphathwanga. Le mbono iluncedo kakhulu ngexesha lokulungisa iimpazamo zasekuhlaleni kodwa iyingozi kwimveliso kuba inokuvuza iinkcukacha zangaphakathi malunga ne-app yakho kunye nokusingqongileyo.

Ukukhusela ulwazi oluyimfihlo, iindawo zemveliso kunye novavanyo zihlala zikhubaza iphepha lokungabandakanywa komphuhlisi kwaye endaweni yoko zisebenzisa indlela yomphathi we-exception ecwangcisiweyo, rhoqo /Error, ukubonisa isikrini sempazamo esisebenziseka lula ngelixa ubhala kwicala leseva yeenkcukacha zokwenyani. Le ndlela yokuziphatha ilawulwa kwi-Program.cs ngokujonga imeko-bume kunye neefowuni eziya ku UseExceptionHandler kwaye UseHsts.

Xa izinto zingahambi kakuhle kwaye izifundo zingahambelani nendlela oziphatha ngayo, kudla ngokuba luncedo ukuthelekisa iprojekthi yakho nesampulu eyaziwayo enikwe yiMicrosoft okanye eminye imithombo enegunya. Iimfundiso ezininzi ezisemthethweni zeRazor Pages zipapasha iprojekthi yesampulu egqityiweyo onokuyijonga okanye uyikhuphele ukuze yahluke kwikhowudi yakho kwaye ubone ulungelelwaniso olungekhoyo, iimpazamo okanye iifayile ezibekwe ngendlela engafanelekanga.

Ukupapasha nokusasaza ii-apps zokwenyani ze-ASP.NET Core Razor

Ukuthumela i-app yakho yeRazor Pages kulapho lonke ulwakhiwo lwangaphambili kunye noqwalaselo luhlawula khona, kuba i-ASP.NET Core ixhasa iindlela ezahlukeneyo zokusasaza ezihambelana neendawo ezahlukeneyo zokusingatha kunye nemisebenzi yokusebenza. Nokuba ukhetha i-IIS kwiWindows, kwiikhonteyina zeLinux kwiDocker, okanye kwiqonga elilawulwayo njenge-Azure App Service, inkqubo yokupapasha inokuqhutywa yi-MSBuild kwaye ifakwe kwiipayipi zakho ze-CI/CD.

I-Visual Studio kunye neRider zombini zibonelela ngeeprofayili zokupapasha ezinokupakisha usetyenziso lwakho kwaye ziluthumele kwi-IIS zisebenzisa i-Web Deploy (MSDeploy), zilukopishe kwifolda yendawo okanye yenethiwekhi, okanye zilutyhale ngqo kwiseva ekude nge-FTP, FTPS okanye SFTP. Ukudala iprofayili yokushicilela kubhala useto lwakho lokusasazwa ukuze ukupapashwa kwexesha elizayo kube lula njengokukhetha iprofayili kunye nokucofa iqhosha okanye ukusebenzisa umyalelo.

Kwiimeko zelifu, i-Azure App Service yindawo ethandwayo, kwaye ii-IDE zidibanisa izixhobo ze-Azure ukwenza kunye nokupapasha ii-apps zewebhu ngqo kwiprojekthi yakho, kwakhona ziphinda zibuyele kwi-MSBuild kunye ne-MSDeploy phantsi kwe-hood. Le ndlela igcina ulwakhiwo kunye nokusasazwa kuhambelana phakathi kweendawo zasekuhlaleni kunye nezamafu kwaye ingenziwa ngokuzenzekelayo kwi-Azure DevOps, iiGitHub Actions okanye ezinye iinkqubo ze-CI.

I-Docker lolunye ukhetho oluphambili lwe-ASP.NET Core, olukuvumela ukuba ufake i-app yakho yeRazor Pages kwisikhongozeli ukuze ikwazi ukuqhutywa ngendlela eqikelelweyo kuyo nayiphi na indawo exhasa izikhongozeli. I-Rider kunye ne-Visual Studio zingakunceda uvelise ii-Dockerfiles kunye nee-docker-compose configurations, zivumela ukuhamba komsebenzi apho uphuhlisa, ulungisa kwaye usasaze usetyenziso lwakho ngaphakathi kwezikhongozeli, nokuba zezasekuhlaleni okanye kwii-orchestrators ezifana ne-Kubernetes.

Nokuba yintoni na ekujoliswe kuyo, inyathelo lokupapasha liqokelela ikhowudi yakho ye-C#, lihlanganise iimbono zeRazor, likopishe ii-asethi ezingashukumiyo, kwaye, ngokuxhomekeke kwizicwangciso, linokwenza nexesha lokusebenza elizimeleyo ukuze umatshini we-host angadingi ukufakwa kwe-.NET okwabelwana ngayo. Olu luhlu lwemisebenzi yilo oluguqula iprojekthi yakho yophuhliso ibe yinto elungele ukusetyenziswa ngabasebenzisi bokwenyani.

Ukudibanisa zonke ezi zinto—ukusuka kwizatifikethi zophuhliso kunye neProgram.cs, ukuya kwiPages kunye ne-wwwroot, ukuya ekulungiseni iimpazamo kunye nokupapasha—iRazor Pages inika indlela esebenzayo yokwakha ii-application zewebhu ze-ASP.NET Core zehlabathi lokwenyani ezihlala zisebenza, zisebenza kakuhle kwaye zikhululekile kubaphuhlisi abasele bekonwabela ukusebenza kwi-C# kwaye abakakulungeli ukubheja ngokupheleleyo kwisakhelo sephepha elinye kuyo yonke imeko.

Izithuba ezihambelanayo: