Ülevaade ASP.NETi pakutavatest riigihaldusmeetoditest

0

Peaaegu kõigi veebirakenduste toimimises võib täheldada ühtset piirangut, mis suurendab nende olekuta käitumist. See on katkendlik ühendus Serveri ja Kliendi vahel.

HTTP (hüperteksti edastusprotokolli) rakendamisel veebis suhtlemiseks järgitakse konkreetset mustrit, mida nimetatakse päringuks ja vastuseks. See muster on tegelikult olemuselt kodakondsuseta, kuna see ei säilita ühegi päringu või sellele vastava vastuse olekut. Seega, kui klient algatab päringu veebiserverile, loob veebiserver päringu täiesti uue objekti. See põhjustab lõppkokkuvõttes ühenduse katkemist ja tekitab esinemises kitsaskohti.

Õnneks pakub ASP.NET suurepärast lahendust selle probleemi lahendamiseks mitme tõhusa veebirakenduste olekuhaldustehnikaga.

Mõtiskleme ASP.NETi hämmastavate pakkumiste üle ja mõistame, kuidas see aitab hoida juhtnuppude seisukorda.

On täheldatud, et kui päringu ja vastuse muster loob edasi-tagasi reisid, siis serveri juhtväärtus on kuidagi jaemüügis, samas kui HTML-i juhtväärtus kaob. Selle põhjuseks on asjaolu, et serveri juhtelemendid rakendavad kaudselt olekuhalduse tehnikat (vaate olekut), mis on võimaldanud sellel olekud säilitada.

ASP.NET pakub mitmeid suurepäraseid olekuhaldusmeetodeid, mis kõik on mõeldud erinevatele rakendustele. Põhimõtteliselt on need jagatud kahte laia kategooriasse, nimelt kliendipõhine olekuhaldus ja serveripõhine olekuhaldus. Siin on lühike sissejuhatus mitmesse tehnikasse.

Kliendipõhine riigihaldus

Selle lähenemisviisi korral salvestatakse andmed kliendi masinasse või lehele ilma serveri ressursse kaasamata. Need salvestatud andmed sisaldavad kogu teavet, mis on seotud kliendi ja serveri vahelise suhtlusega. Kuna andmeid hoitakse kliendi otsas, on need häkkimise suhtes haavatavamad, muutes tehnikad vähem turvaliseks ja skaleeritavamaks.

Selle lähenemisviisiga hõlbustab ASP.NET alltoodud meetodeid:

1) Vaata olekut:

See lehetaseme meetod aitab salvestada teavet konkreetse lehe kohta, kuni see on aktiivne. See tähendab, et niipea, kui kasutaja suunab ümber teisele lehele, kaob kogu salvestatud teave. Seega aitab see hoida olekut lehe tasemel. Selle tehnika puhul salvestatakse andmed sõnastikuobjekti kujul (võtme ja väärtuse paaris). Kogu teave salvestatakse lehel endal räsivormingus, kuid peidetud väljal. See võib tarbida stringi väärtust, kuid ainult teatud piirini, kui väärtus ületab, kasutatakse mõnda muud peidetud välja.

ASP.NET-i puhul on vaate olek vaikemeetod, mida järgitakse veebirakenduste oleku salvestamisel. Seda on üsna lihtne rakendada ja see sobib ideaalselt kasutamiseks, kui kasutaja suunatakse samale lehele, mistõttu peame hoidma teavet püsivana, kuni ta ise mõnele teisele lehele ümber suunab.

View State’i kasutamise plussid:

  • Kaitske salvestatud teave võhiku eest, salvestades selle räsivormingus. Häkkerite eest kaitsmiseks võite teabe hoida krüptitud vormingus.
  • Saate seda vastavalt soovile kohandada.
  • See on suurepärane võimalus, kui soovite ühel veebilehel rakendada mitu postituse tagakülge.

Vaateoleku kasutamise miinused:

  • See ei ole ohutu lähenemine, nii et tundlikke andmeid ei saa sellega salvestada.
  • See võib põhjustada üldkulusid või pikendada laadimisaega, muutes lehe raskeks ja sisaldades palju teavet.
2) Küpsised:

See pakub suurepärast kohandamislihtsust kliendi poolel, kuna küpsised salvestatakse kas kliendi brauseri seansi ajal või muuhulgas kliendi süsteemi mällu. Tegelikult saab isegi kasutajatega seotud teavet salvestada ja kasutamist jälgida. Sellel on väike tekstifail maksimaalse suurusega 4096 baiti ja klientmasin suudab kuvada kuni 300 küpsist, samas kui domeen või server võib toetada maksimaalselt 20 küpsist.

Küpsised jagunevad veel kahte kategooriasse, nimelt:

Püsiküpsis – seda tüüpi küpsistel on aegumiskuupäev ja need salvestatakse püsivalt kliendi masinas olevale kõvakettale. Kui püsivale küpsisele vastavat aegumiskuupäeva pole, käsitletakse seda ajutise või mittepüsiva küpsisena.

Püsiküpsis või ajutine küpsis – kuna seda tüüpi küpsised salvestatakse kliendi lõpus ajutiselt brauseri mällu, siis pärast seda konkreetset aega läheb küpsis kaotsi.

Küpsiste kasutamise plussid:

  • See kulutab ühe küpsise kohta vaid paar baiti mälu.
  • Lihtne ja üsna lihtne kasutada.

Küpsiste kasutamise miinused:

  • See ei paku ohutut lähenemist, kuna salvestab teabe kliendi masinasse ja seega ei ole tundlike andmete salvestamine mõistlik valik.
  • Iga kasutaja saab küpsised keelata, tehes vastavaid muudatusi brauseri seadetes.
3) Peidetud väljad:

Põhimõtteliselt on see serveri juhtseade, mis aitab hallata väärtust lehe tasemel ja on natuke sarnane vaate olekuga. Selle väärtus saadetakse HTTP vormikogu kaudu ja koos sellega saadetakse ka muude juhtelementide väärtus.

Peidetud väljade kasutamise plussid:

  • Seda on üsna lihtne kasutada.
  • Kuna väärtus salvestatakse ainult lehele, siis serveriressursse üldse ei kasutata. Seega säästavad peidetud väljad serveri ressursse.

Peidetud väljade kasutamise miinused:

  • Kui lehele rakendatakse mitu peidetud välja, lisab see lõpuks lehele kaalu ja muudab selle mahukamaks ning suurendab seega lehe laadimisaega.
  • See lähenemisviis ei ole tundlike andmete salvestamiseks ideaalne. Kuna see ei salvesta andmeid krüptitud või räsivormingus, pole see tehnika täiesti turvaline.
4 Rakenduse olek:

See olek sobib suurepäraselt andmete salvestamiseks, millele on vaja juurdepääsu kogu rakenduses. See hõivab serveri ressursid, kuna salvestab andmed serveri mällu. Rakenduse olek ei ole piiratud ühegi konkreetse kasutaja või seansiga, pigem on see rakendatav kõikidele seanssidele ja kasutajatele. Kuid sel juhul säilitatakse andmeid ainult nii kaua, kuni rakendus töötab, niipea kui rakendus lõpetatakse või taaskäivitatakse, lähevad kõik salvestatud andmed kaotsi. Tegelikult läheb see raisku ka siis, kui veebiserver taaskäivitatakse, kuna andmed peidetakse serveri otsa.

Rakenduse olekus kasutatakse andmete salvestamiseks klassi HttpApplicationState objekti. See klass on nimega objektikogu, mis tähendab, et see sisaldab mis tahes tüüpi andmeid. See võib olla osa võtme/väärtuse paarist.

Rakenduse oleku plussid:

  • Rakenduse olek on globaalse ulatusega. Andmetele pääseb juurde igal ajal, kui rakendus töötab.
  • Vaikimisi aegumisperioodi pole.

Rakenduse oleku miinused:

  • Rakenduse olek nõuab andmete salvestamiseks serveriressursse. Kui seda õigesti ei käsitleta, võib see põhjustada mastaapsuse probleeme.
  • Rakenduse olek pole lõime ohutu, seega peame rakendama lukud.
  • Rakenduse tõrke või taaskäivitamise korral lähevad kõik salvestatud andmed kaotsi.
5 Seansi olek:

Seda meetodit kasutavad rakenduse oleku säilitamiseks kõige sagedamini mitmed arendajad. Selle lähenemisviisi puhul salvestatakse väärtus sõnaraamatukogu kujul, see tähendab, et see on võtme ja väärtusena paaris. Siin kasutatakse serveri ressursse täielikult rakenduse oleku salvestamiseks. Kuna salvestatut klientidele üle ei anta, pakub see tehnika ohutut ja väga turvalist meetodit.

Selle lähenemisviisi puhul luuakse iga kasutaja jaoks eraldi seanss kordumatu ID-ga. Kuna see ID salvestatakse kliendi süsteemi, kasutatakse selle salvestamiseks küpsiseid. Seanss suletakse kohe, kui kasutaja rakendusest välja logib, ja kui ta naaseb rakendusse tulevikus, luuakse uus seanss.

Seda saab kasutada ükskõik millises neljast režiimist. Siin on režiimid:

  • VÄLJAS – seansi desaktiveerimiseks, st kui te ei ole huvitatud seansi oleku lisamisest oma rakendusse, saate lülitada sisse režiimi OFF.
  • InProc – vaikimisi salvestatakse selles režiimis seansimuutujad. Siin salvestatakse väärtus samas protsessis, kus rakendus ASP.NET tegelikult töötab. Seega tagab see suurepärase jõudluse.
  • Olekuserver – selles režiimis salvestatakse andmed Windowsi teenuses eraldi protsessina. Seega isoleerib see kaks protsessi, üks, kus rakendus töötab, ja teine, kus andmeid salvestatakse. Seetõttu pole selle jõudlus nii hea kui InProc-režiimis.
  • SQL Server – siin salvestatakse seansiandmed SQL Serverisse. Mitme serverimasinaga on InProc-režiimis raske hallata. Selleks on parem salvestada andmed ainult SQL serverisse, see teeb andmed tsentraalselt kättesaadavaks kõikidele masinatele. See režiim pakub ülimat turvalisust, kuid see tagab halvema jõudluse.

Need viis on ASP.NET-i rakenduste jaoks kõige sagedamini kasutatavad olekuhaldustehnikad. Integreerige see tehnika oma rakendusse, mis tagab andmete täieliku turvalisuse ja kiire jõudluse.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More