Yakha izinhlelo zokusebenza zewebhu zangempela nge-ASP.NET Core Razor Pages

Isibuyekezo sokugcina: 03/15/2026
  • I-Razor Pages inikeza imodeli egxile ekhasini phezulu kwe-ASP.NET Core, yabelana ngenjini efanayo enamandla yokuqondisa, i-middleware kanye ne-Razor view njenge-MVC.
  • Amaphrojekthi angempela agxile kufolda ethi Amakhasi, wwwroot, appssettings.json kanye ne-Program.cs, lapho kulungiswa khona amasevisi, i-middleware kanye nokuphathwa kwamaphutha.
  • Amathuluzi afana ne-Visual Studio, i-Rider kanye ne-VS Code alulaza ukuthuthukiswa, ukulungisa amaphutha, ukuzulazula kanye nokulungisa amamodeli, ukubukwa kanye ne-syntax ye-Razor.
  • I-ASP.NET Core yenza kube lula ukushicilela izinhlelo zokusebenza ze-Razor ku-IIS, Azure, amaseva enziwe ngokwezifiso noma i-Docker, okuvumela ukuthunyelwa okukwazi ukukhuliswa nokuphindaphindwayo.

Izinhlelo zokusebenza zewebhu zangempela ze-ASP.NET Core Razor

Uma uvela ku-Angular kanye ne-ASP.NET Web API futhi uqala ukujabulela i-C# ngemuva, i-Razor Pages iyindlela yemvelo kakhulu yokuletha leyo njabulo endaweni engaphambili ngaphandle kokulahla ulwazi lwakho lwe-JavaScript olukhona. Esikhundleni sokugxumela ngqo esitokisini se-UI esihluke ngokuphelele, ungahlala endaweni ejwayelekile ye-ASP.NET Core, usebenzise i-syntax ye-Razor yokunikeza iseva ohlangothini, bese usafafaza i-JavaScript noma kuphi lapho kunengqondo khona.

I-ASP.NET Core Razor Pages iyindlela enconyiwe yiMicrosoft yokwakha izinhlelo zokusebenza zewebhu zesimanje ku-.NET, enikeza imodeli ehlanzekile esekelwe ekhasini ehleli phezu kwepayipi enamandla ye-ASP.NET Core. Kuyipulatifomu ehlukahlukene, isebenza kahle ngamathuluzi afana ne-Visual Studio, i-Visual Studio Code kanye ne-JetBrains Rider, futhi ilinganisa kusukela kuma-prototype amancane kuya ezingeni lokukhiqiza, izinhlelo zokusebenza ezisekelwa yisizindalwazi. Kulo mhlahlandlela sizohamba ngendlela izinhlelo zokusebenza ze-Razor Pages zomhlaba wangempela ezihlelwe ngayo, indlela i-Program.cs ehlanganisa ngayo yonke into ndawonye, ​​indlela amafayela angaguquki kanye nokucushwa okusebenza ngayo, kanye nendlela amathuluzi, ukulungisa amaphutha kanye nokusetshenziswa okusebenzayo ngayo.

Iyini ngempela i-ASP.NET Core Razor Pages (nokuthi iqhathaniswa kanjani ne-MVC)

I-Razor Pages iyisici se-ASP.NET Core esikuvumela ukuthi wakhe izinhlelo zokusebenza zewebhu ezizungeze amakhasi esikhundleni sezilawuli, okunikeza imodeli yengqondo elula ngenkathi usebenzisa uhlaka olufanayo oluyisisekelo njenge-MVC. Ngaphansi kwe-hood isebenza ku-routing efanayo, i-middleware kanye ne-hosting stack njengezilawuli kanye nokubukwa, kodwa ikhasi ngalinye liphatha ukuziphatha kwalo esikhundleni sokuhlanganisa yonke into emakilasini ezilawuli.

Ikhasi ngalinye le-Razor livame ukumelwa ngamafayela amabili: ifayela le-.cshtml lokuphawula kanye nefayela le-.cshtml.cs lomqondo we-C# wekhasi. Ifayela le-.cshtml liqukethe i-HTML yakho exutshwe nohlelo lwe-Razor (isibonelo ama-loop, izimo, kanye nabasizi be-HTML), kuyilapho ifayela lekhodi elingemuva kwe-.cshtml.cs liphethe izindlela zokuphatha ezifana ne-OnGet, i-OnPost, izakhiwo zemodeli kanye nanoma iyiphi i-logic edingekayo ukuze kuboniswe noma kucutshungulwe ikhasi.

Ngaphambi kweRazor Pages, iphethini evelele ku-ASP.NET kwakuyi-MVC, lapho abalawuli babebuyisela khona imibono futhi baqondise zonke izicelo ngezindlela zesenzo. I-MVC isasekelwa ngokugcwele futhi iyiphethini evivinywe yimpi enezindlela eziqinile, kodwa ezimweni eziningi i-Razor Pages ishesha ukucabanga ngayo ngoba ikhodi elayisha futhi icubungule ikhasi iseduze ngokomzimba nophawu lwayo esikhundleni sokungcwatshwa kusilawuli esihlukile.

Ngisho noma i-Razor Pages isusa ukugxila kubalawuli, isasebenzisa injini efanayo yokubuka i-Razor futhi isekela i-HtmlHelpers kanye ne-TagHelpers ukukhiqiza i-HTML enamandla. Ama-TagHelpers awusizo kakhulu: anweba amathegi e-HTML ajwayelekile anezimfanelo ezifana asp-action, asp-controller or asp-route ukuze ukwazi ukuxhumanisa izixhumanisi namafomu ukuze ubuyisele emuva ama-endpoints ngaphandle kokubhala ama-URL amaningi ngesandla noma i-JavaScript esemgqeni.

Kwabathuthukisi asebevele beyazi iJavaScript futhi abake bahlala ezinhlakeni ze-SPA, i-Razor Pages inikeza indlela ehlanganisiwe: i-HTML enikezwe yiseva yemithwalo yokuqala esheshayo kanye ne-SEO, ene-JavaScript kanye nemitapo yolwazi engaphambili ebekwe phezulu lapho kudingeka khona. Awuvalelwanga noma awuphikisani nanoma yiluphi uhlaka oluthile lwe-JS, futhi ungagcina i-backend kanye ne-frontend kusisombululo esifanayo, okwenza kube lula ukuthunyelwa kanye nokugcinwa.

Ukudala nokusebenzisa uhlelo lokusebenza lwewebhu lwe-Razor Pages

Uma udala iphrojekthi entsha ye-ASP.NET Core Razor Pages usebenzisa i-Visual Studio, i-Visual Studio Code noma i-Rider, ithempulethi ihlanganisa uhlelo lokusebenza oluncane kodwa oluphelele, okuhlanganisa i-Program.cs, ifolda ye-Pages, amafayela okucushwa kanye nempande yewebhu engaguquki. Ngebhokisi uthola isayithi elisebenzayo ongalisebenzisa ngokushesha bese liguquka libe yinto eyinkimbinkimbi njengekhathalogi yama-movie noma olunye uhlelo lokusebenza olusebenzisa idatha.

Ngaphambi kokusebenzisa uhlelo lokusebenza ku-HTTPS, i-ASP.NET Core idinga ukusebenzisa isitifiketi sokuthuthukisa esithenjwa uhlelo lwakho lokusebenza, futhi ngesikhathi sokuqala uqhuba iphrojekthi ungase ubone ibhokisi elikucela ukuthi ulithembe. Uma leyo ngxoxo ivela, ukhetha Yebo kubonisa ukuthi uyavuma ukuthi isitifiketi sokuthuthukiswa kwendawo sisetshenziselwa ithrafikhi ye-HTTPS emshinini wakho, okudingekayo ukuze kuhlolwe kahle ama-endpoint aphephile ngaphandle kwezixwayiso zesiphequluli.

Ku-Windows, macOS noma i-Linux, i-Visual Studio Code ikuvumela ukuthi uqalise uhlelo lokusebenza ngokucindezela Ctrl+F5 ukusebenzisa ngaphandle kokulungisa amaphutha, noma ukusebenzisa iphaneli ethi Run and Debug uma ufuna ukunamathisela i-debugger. Okokuqala, i-VS Code ingase ikukhuthaze ukuthi ukhethe uhlobo lwe-debugger olufana ne- C#, .NET 5+ kanye ne-.NET Core noma ukucushwa kokuqaliswa okuthile okufana I-C#: I-RazorPagesMovie [https] I-RazorPagesMovie kuye ngenguqulo ye-.NET kanye nokucushwa kwendawo yakho yokusebenza.

Ngemva kokuqalisa, isiphequluli sakho esizenzakalelayo sivula ku-URL efana ne- https://localhost:<port>, lapho imbobo inikezwa ngokungahleliwe noma ichazwe ku-launchSettings.json, futhi ubheka ikhasi lasekhaya elikhonzwa uhlelo lokusebenza lwe-Razor Pages. Kwezinye izifanekiso, uzobona esikhundleni salokho http://localhost:5001 noma elinye ichweba; into ebalulekile ukuthi localhost kusho ukuthi umshini wakho awusiwo umsingathi wangaphandle.

Uma usuqedile ukuhlola, ungamisa uhlelo lokusebenza olusebenzayo ku-IDE yakho: ku-Visual Studio Code sebenzisa imenyu ethi Run bese ukhetha ethi Stop Debugging noma ucindezele Shift+F5, ngenkathi usebenzisa i-Visual Studio ye-Mac Debug > Stop Debugging. Lokhu kubulala isibonelo seseva yewebhu yeKestrel esaqalwa kuleso sikhathi futhi kukhulula ichweba kwezinye izinhlelo zokusebenza.

Ukuqonda isakhiwo sephrojekthi: amafolda namafayela ayisihluthulelo

Izinhlelo zokusebenza ze-Real‑world Razor Pages zihlelwe ngamafolda ambalwa abalulekile namafayela okucushwa ozosebenza ngawo njalo: Amakhasi, i-wwwroot, i-appsettings.json kanye ne-Program.cs (kanye nezinguqulo ezindala, i-Startup.cs). Ukuzivumelanisa nezimo kubalulekile ngoba cishe yonke iphrojekthi yokufundisa, isampula noma yokukhiqiza isebenzisa izindlela ezifanayo.

Ifolda ye-Pages iyinhliziyo yephrojekthi ye-Razor Pages, equkethe wonke amakhasi e-.cshtml kanye nekhodi yawo ye-.cshtml.cs ngemuva kwamafayela kanye nokuhlelwa okwabiwe kanye nokubukwa okungaphelele. Ipheya ngalinye lekhasi (isibonelo i-Index.cshtml kanye ne-Index.cshtml.cs) limelela indawo yokugcina engabizi kuhlelo lwakho lokusebenza, kanye namafayela akhethekile aqala nge-underscore, njengokuthi _Layout.cshtml, chaza okuqukethwe okusetshenziswe kabusha emakhasini amaningi.

Ifayela lesakhiwo, elivame ukubizwa ngokuthi _Layout.cshtml, ichaza i-chrome yesayithi lakho, njengebha yokuzulazula ephezulu, unyawo kanye nesaziso se-copyright, futhi inikeza indawo yokudweba umzimba wekhasi ngalinye. Uma ushintsha ukwakheka, uthinta ngokushesha ukubukeka nomuzwa wawo wonke ama-Razor Pages ayisebenzisayo, ngakho-ke yindawo okufanele uyivakashele yokuhlela amamenyu, ukufaka uphawu kanye nezikripthi noma izitayela ezabiwe.

Ifolda ye-wwwroot iyimpande yewebhu ekhethiwe lapho kuhlala khona amafa aqinile, okuhlanganisa i-CSS, i-JavaScript, izithombe namafayela e-HTML alula angakhonzwa ngqo yiseva yewebhu. Noma yini ebekwe ngaphansi kwe-wwwroot ingafinyelelwa yisiphequluli (kuya ngokucushwa kwefayela lakho elingaguquki), okwenza kube ikhaya elifanele lamashidi esitayela sesayithi, imitapo yolwazi eseceleni kwamakhasimende kanye nezithombe ezibhekiselwe ku-markup yakho.

Ukucushwa kohlelo lokusebenza kuvame ukugcinwa ku- appsettings.json (kanye nezinhlobo ezithile zemvelo ezifana ne-appsettings.Development.json), eziqukethe izilungiselelo ezifana nezintambo zokuxhuma kanye namafulegi ezici. Uhlelo lokucushwa kwe-ASP.NET Core lulayisha lawa mafayela futhi luwahlanganise neziguquguquko zemvelo kanye nabanye abahlinzeki, okwenza kube lula ukubopha izingxenye eziklasini zezinketho ezithayishwe ngokuqinile kukhodi yakho.

I-Program.cs kanye nepayipi le-ASP.NET Core

Ifayela le-Program.cs liqukethe indawo yokungena yohlelo lwakho lokusebenza lwe-Razor Pages futhi lichaza indlela i-web host, amasevisi kanye nepayipi le-middleware elilungiselelwe ngayo ngaphambi kokuba isicelo sokuqala sifike kusayithi lakho. Ezinguqulweni zesimanje ze-ASP.NET Core, i-Program.cs isebenzisa imodeli "yokusingatha okuncane" ehlelekile enesitatimende sezinga eliphezulu esidala i- WebApplicationBuilder bese yakha futhi ilungiselele WebApplication isibonelo.

Iphethini evamile ku-Program.cs iqala ngo- var builder = WebApplication.CreateBuilder(args); esetha i-host enezilungiselelo ezivamile, bese ibiza builder.Services.AddRazorPages(); ukubhalisa i-Razor Pages ngesitsha sokufaka i-dependency injection. Ngemva kokusetha izinsizakalo, var app = builder.Build(); idala into yohlelo lokusebenza oyifaka nge-middleware kanye nama-endpoints.

Ukuphathwa kwamaphutha kanye nokuziphatha kokuphepha kuncike kakhulu emvelweni, ngakho-ke uvame ukubona ukuhlolwa kwemvelo okufana nokuthi if (!app.Environment.IsDevelopment()) ukuze kunikwe amandla izici zezinga lokukhiqiza. Ngaphakathi kwaleso simo uzovame ukukuthola app.UseExceptionHandler("/Error"); okuthumela amaphutha angaphathwanga ekhasini lephutha elizinikele, kanye app.UseHsts(); okusebenzisa i-HTTP Strict Transport Security (HSTS) ukuze ifundise iziphequluli ukuthi zisebenzise i-HTTPS njalo kusizinda sakho.

Ipayipi le-middleware libe selihlanganiswa ngezingcingo ezifana app.UseHttpsRedirection();, app.UseStaticFiles(); or app.MapStaticAssets();, app.UseRouting(); futhi ngokuzikhethela app.UseAuthorization(); kulandelwe ukumepha kwe-endpoint. Ukuqondisa kabusha kwe-HTTPS kuphoqa izicelo ze-HTTP ezingavikelekile ukuthi zithuthukiswe zibe yi-HTTPS, i-middleware yefayela elingaguquki (noma i-static asset mapping entsha ku-.NET 9) ivumela ukuphakelwa okuqondile kwezinsizakusebenza ezivela ku-wwwroot, futhi i-routing inquma ukuthi iyiphi indawo yokugcina ephatha i-URL ngayinye engenayo.

Ekugcineni, amaRazor Pages axhunywe kumzila nge app.MapRazorPages(); okuboshwe ngokuzithandela nge- .WithStaticAssets(); kumathempulethi amasha ukuhlanganisa ukulungiswa kwempahla engaguquki, bese uhlelo lokusebenza luqalwa ukusebenzisa app.Run();. Ngaleso sikhathi uhlelo lokusebenza lulalele kuma-port amisiwe futhi iseva ye-Kestrel isilungele ukusingatha izicelo zangempela, kungaba endaweni lapho kuthuthukiswa khona noma ku-host yokukhiqiza efana ne-IIS, i-Azure App Service noma i-Docker.

Amakhasi e-Razor, amamodeli kanye namamodeli okubuka ezinhlelweni zangempela

Ngemuva kwazo zonke izinhlelo zokusebenza ze-Razor Pages ezingezona ezibaluleke kakhulu kuhleli isethi yamamodeli esizinda kanye namamodeli okubuka amelela idatha yakho nokuthi iboniswa kanjani, kungakhathaliseki ukuthi uphatha ikhathalogi yama-movie, ibhulogi, noma ideshibhodi yebhizinisi. Amamodeli ngokuvamile ahambisana eduze nezinhlaka zedathabheyisi, kanti amamodeli okubuka angase alungiselelwe isikrini esisodwa noma ukugeleza komsebenzisi, ahlanganise amamodeli amaningi noma amanani afomethiwe kusengaphambili ukuze kube lula ukuveza.

Indlela evamile yokuthuthukisa ukuqala ngamakilasi alula e-C# asebenzisa amasimu kanye neziginesha zendlela njengezitishi, bese kancane kancane ewaguqula abe amamodeli afanele anezakhiwo ezihlanganisiwe, izimfanelo zokuqinisekisa kanye ne-logic. Amathuluzi afana ne-JetBrains Rider enza lokho kuthuthuka kube lula ngezenzo ezihlose ukuguqula ngokuzenzakalelayo amasimu abe yizakhiwo, adale izinhlobo ezisuselwe kumazinga efa futhi asebenzise okunye ukuphinda kulungiswe njengoba ulungisa imodeli yakho yezinto.

Ifa kanye nezixhumi zokuxhumana kusiza ekuphoqeleleni isakhiwo esivumelanayo samamodeli akho, ukuwavumelanisa nemithetho yangempela yebhizinisi futhi kuvumele i-polymorphism lapho ukuziphatha okuthile kwabelwana khona kodwa ukusetshenziswa kuhlukile. Isibonelo, ungase ube nesisekelo ContentItem uhlobo olususelwe Movie, Series futhi Documentary amakilasi, ngalinye linomehluko omncane kodwa inkontileka efanayo esetshenziswa kulo lonke uhlelo lwakho lokusebenza.

Uma amamodeli akho esekhona, ukubuka kwe-Razor Pages noma kwe-MVC kungadalwa ngesandla noma ngamathuluzi okusika akhiqiza amakhasi okufaka ohlwini, ukudala, ukuhlela nokususa izinto. Ukwakha i-scaffolding kusheshisa kakhulu ukuthuthukiswa kwasekuqaleni futhi kuqinisekisa ukuthi umzila, ukubopha imodeli kanye nokuqinisekiswa kuxhunywe kahle, ongakwenza ngokwezifiso nge-markup yakho kanye nesitayela.

I-syntax ye-razor esetshenziswa kumafayela e-.cshtml ihlangana kahle namamodeli athayishwe ngokuqinile namamodeli okubuka, okukuvumela ukuthi ubonise idatha, usebenzise ama-loop nama-conditional, futhi udale izixhumanisi namafomu usebenzisa i-HtmlHelpers noma i-TagHelpers ngaphandle kokulahlekelwa ukuphepha kwesikhathi sokuhlanganiswa. Lokhu kuhlanganiswa kwe-C# kanye ne-markup kugcina uhlangothi oluningi lwe-logic server kodwa kusaveza i-HTML ehlanzekile kusiphequluli esidlala kahle ne-CSS kanye ne-JavaScript.

Ukusebenza nge-syntax ye-Razor, i-TagHelpers kanye nokuzulazula ku-Rider

I-syntax ye-razor iwungqimba olulula phezu kwe-HTML oluqala noma nini lapho @ kuvela uphawu, okwenza kube lula ukufaka izinkulumo ze-C#, izitatimende noma izingcingo zomsizi ngqo ku-markup yakho. Ungavula uhlu lwezinto, ubonise noma ufihle izinto ngokusekelwe ezimweni, noma ubonise amanani nezinsuku ezifomethiwe ngaphandle kokubhala ulimi oluhlukile lwesifanekiso noma ukusakaza iJavaScript yonke indawo.

I-TagHelpers izwakala njengesandiso semvelo se-HTML lapho izimfanelo ezikhethekile ziqala khona asp- shintsha ukuziphatha noma umphumela wezinto, ngokuvamile uthatha indawo yezindlela ezindala ze-HtmlHelper futhi ususe isidingo seglue yesikripthi esisemugqeni. Izibonelo zifaka asp-action futhi asp-controller ukuhambisa amathegi e-anchor namafomu ezenzo ezithile, noma izimfanelo zomzila ezifana asp-route-id ukudlulisa amapharamitha kahle kuma-URL.

Ukusekelwa kwe-IDE kubaluleke kakhulu uma ujule ku-HTML, futhi i-Rider inikeza izici eziwusizo njengezinkwa ezingaphansi komhleli ukukhombisa indawo yakho yamanje esakhiweni sedokhumenti. Ama-breadcrumbs angenziwa ngokwezifiso ngaphansi kwe-Preferences noma Options esigabeni se-Editor, futhi enza ukuzulazula amafayela amade e-Razor anamathegi afakwe esidlekeni kungabi buhlungu kakhulu.

Kumaphrojekthi e-MVC, i-Rider iyaqonda futhi imithetho ehlanganisa abalawuli, izenzo kanye nokubukwa, ngakho-ke ukujikeleza phezu kwemiphumela yesenzo kungakukhombisa izindlela zokubuka ezingaba khona kanye Ctrl + Chofoza (noma Chofoza ku-Cmd ku-macOS) igxuma iqonde ngqo kufayela elihambisanayo le-.cshtml. Izinqamuleli ezifana Ctrl + B or Cmd-B nikeza indlela esheshayo yokuhamba ngesisekelo sakho sekhodi ngaphandle kokufuna abahloli bezixazululo.

Ngaphandle kokusebenzisa amathuluzi athile e-Razor, i-Rider ifaka isethi ebanzi yezinhloso kanye nokulungiswa okusheshayo kwe-HTML, i-CSS kanye ne-JavaScript okukusiza ukuthi ubhale ikhodi eseceleni kweklayenti ehlanzekile, ehlelwe kahle ngaphakathi kwe-IDE efanayo ne-C# backend yakho. Lokhu kuhlanganiswa okuqinile kungasindisa ukushintsha okuningi komongo lapho kwakhiwe i-UI eyinkimbinkimbi, esebenzisanayo esathembele ekubukeni noma kumakhasi e-Razor anikezwe yiseva.

Ukulungisa amaphutha ku-Razor Pages kanye nezinhlelo zokusebenza ze-ASP.NET Core

Ukulungisa amaphutha kuwumsebenzi wansuku zonke ekuthuthukisweni kwewebhu, futhi izinhlelo zokusebenza ze-ASP.NET Core ezisebenzisa i-Razor Pages azihlukile, ngakho-ke ukuba nokusekelwa okuqinile kokulungisa amaphutha ku-IDE yakho kubalulekile. Kokubili i-Visual Studio kanye ne-Rider bahlinzeka ngama-debugger asebenzisanayo anganamathela enqubweni yakho ye-Kestrel, adlule ikhodi ye-C#, ahlole iziguquguquko futhi ahlole izinkulumo ngenkathi uhlelo lokusebenza lusebenza.

I-Rider's debugger ku-Windows isekela i-Edit and Continue, ekuvumela ukuthi ulungise ikhodi ngenkathi uhlelo lokusebenza lumiswe okwesikhashana endaweni yokuphazamiseka futhi usebenzise izinguquko ngaphandle kokuqala kabusha sonke isikhathi sokulungisa amaphutha. Lelo khono lokulungisa amaphutha amancane noma ukuzama ngesikhathi sokulungisa amaphutha lisheshisa kakhulu ukuxazulula izinkinga, ikakhulukazi kumaphrojekthi amakhulu anezikhathi zokuqala ezingezona ezingathi sína.

Ikhasi lokuzikhethela lonjiniyela elizenzakalelayo ku-ASP.NET Core livulwa ngokuzenzakalelayo lapho indawo isethwe ku-Development, okukunikeza umkhondo we-stack onemininingwane, ulwazi lwesicelo kanye nokuxilongwa noma nini lapho kuvela khona okuhlukile okungaphathwanga. Lo mbono uwusizo kakhulu ngesikhathi sokulungisa amaphutha endawo kodwa uyingozi ekukhiqizweni ngoba ungavuza imininingwane yangaphakathi mayelana nohlelo lwakho lokusebenza kanye nendawo ezungezile.

Ukuze kuvikelwe ulwazi olubucayi, izindawo zokukhiqiza nezokuhlola zivame ukukhubaza ikhasi lokungakhethi konjiniyela bese kusetshenziswa umzila wesiphathi sokungakhethi esilungiselelwe, ngokuvamile /Error, ukukhombisa isikrini samaphutha esisebenziseka kalula ngenkathi ubhala ohlangothini lweseva yemininingwane yangempela. Lokhu kuziphatha kulawulwa ku-Program.cs ngokuhlola imvelo kanye nokubiza ku- UseExceptionHandler futhi UseHsts.

Uma izinto zingahambi kahle futhi izifundo zingahambisani nokuziphatha kwakho, kuvame ukuba wusizo ukuqhathanisa iphrojekthi yakho nesampula eyaziwayo enikezwe yiMicrosoft noma eminye imithombo egunyaziwe. Izifundo eziningi ezisemthethweni ze-Razor Pages zishicilela iphrojekthi yesampula ephelele ongayibuka noma uyilande ukuze ihluke kakhulu kunekhodi yakho futhi ibone ukucushwa okungekho, amaphutha noma amafayela abekwe kabi.

Ukushicilela nokusabalalisa izinhlelo zokusebenza zangempela ze-ASP.NET Core Razor

Ukuthumela uhlelo lwakho lokusebenza lwe-Razor Pages yilapho zonke izakhiwo kanye nokucushwa kwasekuqaleni kusiza khona, ngoba i-ASP.NET Core isekela izinketho eziningana zokuthunyelwa ezifanelana nezindawo ezahlukene zokubamba kanye nemisebenzi yokusebenza. Kungakhathaliseki ukuthi ukhetha i-IIS ku-Windows, izitsha ze-Linux ku-Docker, noma ipulatifomu ephethwe njenge-Azure App Service, inqubo yokushicilela ingaqhutshwa yi-MSBuild futhi ihlanganiswe kumapayipi akho e-CI/CD.

I-Visual Studio kanye ne-Rider zombili zinikeza amaphrofayili okushicilela angapakisha uhlelo lwakho lokusebenza futhi aluthumele ku-IIS kusetshenziswa i-Web Deploy (MSDeploy), alukopishe kufolda yendawo noma yenethiwekhi, noma alusunduzele ngqo kuseva ekude nge-FTP, FTPS noma i-SFTP. Ukudala iphrofayela yokushicilela kubhala amakhodi kuzilungiselelo zakho zokuthunyelwa ukuze ukushicilela kwesikhathi esizayo kube lula njengokukhetha iphrofayela nokuchofoza inkinobho noma ukusebenzisa umyalo.

Ezimweni zamafu, i-Azure App Service iyisisulu esidumile, futhi ama-IDE ahlanganisa amathuluzi e-Azure ukudala nokushicilela izinhlelo zokusebenza zewebhu ngqo kusuka kuphrojekthi yakho, futhi aphinde asekele i-MSBuild kanye ne-MSDeploy ngaphansi kwe-hood. Le ndlela igcina ukwakhiwa kanye nokusetshenziswa kuhambisana phakathi kwezindawo zasendaweni kanye nezamafu futhi ingenziwa ngokuzenzakalela ku-Azure DevOps, GitHub Actions noma kwezinye izinhlelo ze-CI.

I-Docker ingenye inketho yekilasi lokuqala ye-ASP.NET Core, ekuvumela ukuthi uhlanganise uhlelo lwakho lokusebenza lwe-Razor Pages ukuze lusebenze ngendlela ebikezelwayo kunoma iyiphi indawo esekela iziqukathi. I-Rider kanye ne-Visual Studio zingakusiza ukuthi ukhiqize ama-Dockerfiles kanye nokucushwa kwe-docker, okuvumela ukuhamba komsebenzi lapho uthuthukisa khona, ulungisa amaphutha futhi ufaka uhlelo lwakho lokusebenza ngaphakathi kweziqukathi, kungaba endaweni noma kuma-orchestrator afana ne-Kubernetes.

Kungakhathaliseki ukuthi inhloso ikuphi, isinyathelo sokushicilela sihlanganisa ikhodi yakho ye-C#, sihlanganise ukubukwa kwe-Razor, sikopishe amafa angaguquki, futhi, kuye ngezilungiselelo, singase sikhiqize isikhathi sokusebenza esizimele ukuze umshini we-host ungadingi ukufakwa kwe-.NET okwabiwe. Lokhu kuhlanganiswa yikho okuguqula iphrojekthi yakho yokuthuthukisa ibe yinto yobuciko engasetshenziswa elungele ukusetshenziswa ngabasebenzisi bangempela.

Ukuhlanganisa zonke lezi zingcezu ndawonye—kusukela ezitifiketini zokuthuthukisa kanye ne-Program.cs, kuya ku-Pages kanye ne-wwwroot, kuya ekulungiseni amaphutha kanye nokushicilela—i-Razor Pages inikeza indlela esebenzayo yokwakha izinhlelo zokusebenza zewebhu ze-ASP.NET Core zomhlaba wangempela ezikwazi ukugcinwa, ukusebenza kahle futhi ezikhululekile kubathuthukisi asebevele bejabulela ukusebenza ku-C# futhi abangakakulungeli ukubheja ngokugcwele ohlakeni lwekhasi elilodwa kuzo zonke izimo.

Okuthunyelwe okuhlobene: