Katsaus ASP.NETin tarjoamiin valtionhallinnon tekniikoihin

0

Lähes kaikkien verkkosovellusten toiminnassa on havaittavissa yhteinen rajoitus, joka lisää niiden asematonta käyttäytymistä. Se on katkonainen yhteys palvelimen ja asiakkaan välillä.

Tapahtuu, että kun HTTP-protokollaa (Hyper Text Transfer Protocol) toteutetaan verkon yli tapahtuvaa viestintää varten, noudatetaan tiettyä mallia, joka tunnetaan nimellä pyyntö ja vastaus. Tämä malli on itse asiassa luonteeltaan valtioton, koska se ei säilytä minkään pyynnön tai sitä vastaavan vastauksen tilaa. Siksi aina kun asiakas käynnistää pyynnön verkkopalvelimelle, verkkopalvelin luo täysin uuden pyynnön objektin. Tämä aiheuttaa lopulta yhteyden katkeamisen ja pullonkauloja suoritukseen.

Onneksi ASP.NET tarjoaa loistavan ratkaisun tämän ongelman ratkaisemiseen useilla tehokkailla verkkosovellusten tilanhallintatekniikoilla.

Pohditaanpa ASP.NETin uskomattomia tarjouksia ja ymmärretään, kuinka se auttaa säilyttämään säätimien tilan.

On havaittu, että kun pyyntö- ja vastauskuvio luo kiertomatkoja, palvelimen ohjausarvo säilyy jollakin tavalla vähitellen, kun taas HTML-ohjausarvo katoaa. Tämä johtuu siitä, että palvelinohjaimet käyttävät implisiittisesti tilanhallintatekniikkaa (View State), jonka ansiosta se on pystynyt säilyttämään tilat.

ASP.NET tarjoaa useita loistavia tilanhallintamenetelmiä, jotka kaikki on tarkoitettu erilaisiin sovelluksiin. Ne on periaatteessa erotettu kahteen laajaan luokkaan, nimittäin asiakaspohjaiseen tilanhallintaan ja palvelinpohjaiseen tilanhallintaan. Tässä on lyhyt esittely useisiin tekniikoihin.

Asiakaslähtöinen valtionhallinta

Tässä lähestymistavassa tiedot tallennetaan asiakkaan koneelle tai sivulle ilman palvelimen resursseja. Nämä tallennetut tiedot sisältävät kaikki tiedot, jotka liittyvät asiakkaan ja palvelimen väliseen vuorovaikutukseen. Koska tiedot tallennetaan asiakkaan päähän, se on haavoittuvampi joutumaan hakkerointiin, mikä tekee tekniikoista vähemmän turvallisia ja skaalautuvampia.

Tällä lähestymistavalla ASP.NET helpottaa alla mainittuja menetelmiä:

1) Näytä tila:

Tämä sivutason menetelmä auttaa tallentamaan tietyn sivun tiedot, kunnes se on aktiivinen. Eli heti kun käyttäjä uudelleenohjaa toiselle sivulle, kaikki tallennetut tiedot katoavat. Siten se auttaa pitämään tilan sivutasolla. Tässä tekniikassa tiedot tallennetaan Dictionary Object -muodossa (avaimen ja arvon pariin). Kaikki tiedot tallennetaan tiivistetyssä muodossa itse sivulle, mutta piilotettuun kenttään. Se voi kuluttaa merkkijonoarvon, mutta vain tiettyyn määrään asti, jos arvo ylittää, toinen piilotettu kenttä kulutetaan.

ASP.NET:ssä View State on oletusmenetelmä, jota noudatetaan verkkosovellusten tilan tallentamiseen. Se on melko yksinkertainen toteuttaa ja sopii erinomaisesti käytettäväksi, kun käyttäjä ohjataan samalle sivulle, joten meidän on säilytettävä tiedot pysyvinä, kunnes hän itse ohjaa toiselle sivulle.

View Staten käytön edut:

  • Suojaa tallennetut tiedot maallikoilta tallentamalla ne tiivistetyssä muodossa. Itse asiassa pitääksesi tiedot turvassa hakkereilta, voit säilyttää tiedot salatussa muodossa.
  • Voit muokata sitä haluamallasi tavalla ja milloin haluat.
  • Se on loistava vaihtoehto, kun haluat toteuttaa useita julkaisuja yhdelle verkkosivulle.

View Staten käytön haitat:

  • Se ei ole turvallinen tapa, joten sen mukana ei voi tallentaa arkaluontoisia tietoja.
  • Se voi aiheuttaa ylimääräisiä ongelmia tai pidentää latausaikaa tekemällä sivusta raskaan ja paljon tietoa.
2) Evästeet:

Se tarjoaa erinomaisen mukauttamisen helppouden asiakkaan puolella, koska evästeet tallennetaan joko asiakkaan muistiin asiakkaan selainistunnon aikana tai muun muassa asiakkaan järjestelmään. Itse asiassa voidaan jopa tallentaa käyttäjiin liittyviä tietoja ja seurata käyttöä. Siinä on pieni tekstitiedosto, jonka enimmäiskoko on 4096 tavua, ja asiakaskoneella voi olla enintään 300 evästettä, kun taas verkkotunnus tai palvelin voi tukea enintään 20 evästettä.

Evästeet jaetaan edelleen kahteen luokkaan, nimittäin:

Pysyvä eväste – Tällaisilla evästeillä on viimeinen voimassaolopäivä ja ne tallennetaan pysyvästi asiakkaan koneen kiintolevylle. Jos pysyvää evästettä vastaavaa viimeistä voimassaolopäivää ei ole, sitä pidetään ohimenevänä tai ei-pysyvänä evästeenä.

Ei-pysyvä eväste tai ohimenevä eväste – Koska tällaiset evästeet tallennetaan selaimen muistiin asiakkaan lopussa väliaikaisesti, tämän tietyn ajan kuluttua eväste katoaa.

Evästeiden käytön edut:

  • Se kuluttaa vain muutaman tavun muistia evästettä kohden.
  • Helppo ja melko yksinkertainen käyttää.

Evästeiden käytön haitat:

  • Se ei tarjoa turvallista lähestymistapaa, koska se tallentaa tiedot asiakkaan koneelle, joten arkaluonteisten tietojen tallentaminen ei ole varteenotettava vaihtoehto.
  • Kuka tahansa käyttäjä voi poistaa evästeet käytöstä tekemällä tarvittavat mukautukset selaimen asetuksiin.
3) Piilotetut kentät:

Tämä on pohjimmiltaan palvelinohjaus, joka auttaa hallitsemaan arvoa sivutasolla, ja se on vähän samanlainen kuin View State. Sen arvo lähetetään HTTP-lomakekokoelman kautta ja sen mukana lähetetään myös muiden ohjausobjektien arvo.

Piilokenttien käytön edut:

  • Se on melko yksinkertainen käyttää.
  • Koska arvo tallennetaan vain sivulle, palvelinresursseja ei käytetä ollenkaan. Siten Piilotetut kentät säästävät palvelimen resursseja.

Piilokenttien käytön huonot puolet:

  • Jos sivulle toteutetaan useita piilokenttiä, se viime kädessä lisää sivun painoa ja tekee siitä kookkaamman ja siten lisää sivun latausaikaa.
  • Tämä lähestymistapa ei ole ihanteellinen arkaluonteisten tietojen tallentamiseen. Koska se ei tallenna tietoja salatussa tai tiivistetyssä muodossa, tämä tekniikka ei ole täysin turvallinen.
4 Hakemuksen tila:

Tämä tila sopii täydellisesti niiden tietojen tallentamiseen, joita tarvitaan sovelluksen kautta. Se varaa palvelinresurssit, koska se tallentaa tiedot palvelimen muistiin. Sovelluksen tila ei rajoitu mihinkään tiettyyn käyttäjään tai istuntoon, vaan se koskee kaikkia istuntoja ja käyttäjiä. Tässä tapauksessa tietoja säilytetään kuitenkin vain sen ajan, kunnes sovellus on käynnissä, heti kun sovellus lopetetaan tai käynnistetään uudelleen, kaikki tallennetut tiedot menetetään. Itse asiassa se myös menee hukkaan, kun verkkopalvelin käynnistetään uudelleen, koska tiedot piilotetaan palvelimen päähän.

Sovellustilassa HttpApplicationState-luokan objektia käytetään tietojen tallentamiseen. Tämä luokka on nimetty objektikokoelma, mikä tarkoittaa, että se sisältää kaiken tyyppiset tiedot. Se voi olla osa avain/arvo-paria.

Hakemuksen edut:

  • Sovellustilalla on maailmanlaajuinen laajuus. Tietoihin pääsee käsiksi milloin tahansa sovelluksen ollessa käynnissä.
  • Oletuksena ei ole vanhentumisaikaa.

Sovellustilan haitat:

  • Sovellustila vaatii palvelinresursseja tietojen tallentamiseen. Tämä voi johtaa skaalautuvuusongelmiin, jos sitä ei käsitellä oikein.
  • Sovelluksen tila ei ole säikeen turvallinen, joten meidän on otettava käyttöön lukot.
  • Jos sovellus epäonnistuu tai käynnistetään uudelleen, kaikki tallennetut tiedot menetetään.
5 istunnon tila:

Useimmat kehittäjät käyttävät tätä menetelmää yleisimmin sovelluksen tilan ylläpitämiseen. Tässä lähestymistavassa arvo tallennetaan sanakirjakokoelman muodossa, eli se yhdistetään avaimena ja arvona. Tässä palvelinresurssit käytetään kokonaan sovelluksen tilan tallentamiseen. Koska tallennettuja tietoja ei siirretä asiakkaille, tämä tekniikka tarjoaa turvallisen ja erittäin turvallisen menetelmän.

Tässä lähestymistavassa kullekin käyttäjälle luodaan erillinen istunto, jossa on yksilöllinen tunnus. Koska tämä tunnus on tallennettu asiakkaan järjestelmään, sen tallentamiseen käytetään evästeitä. Istunto lopetetaan heti, kun käyttäjä kirjautuu ulos sovelluksesta, ja jos hän palaa sovellukseen myöhemmin, luodaan uusi istunto.

Sitä voidaan käyttää missä tahansa neljästä tilasta. Tässä ovat tilat:

  • OFF – Jos haluat deaktivoida istunnon, eli jos et halua sisällyttää istunnon tilaa sovellukseesi, voit asettaa OFF-tilan päälle.
  • InProc – Istuntomuuttujat tallennetaan oletusarvoisesti tähän tilaan. Täällä arvo tallennetaan samaan prosessiin, jossa ASP.NET-sovellus todella suorittaa. Näin ollen se tarjoaa erinomaisen suorituskyvyn.
  • Tilapalvelin – Tässä tilassa tiedot tallennetaan erillisessä prosessissa Windows-palvelun sisällä. Se siis eristää kaksi prosessia, joista toinen, jossa sovellus on käynnissä, ja toinen, johon tiedot tallennetaan. Siksi sen suorituskyky ei ole yhtä hyvä kuin InProc-tilassa.
  • SQL Server – Täällä istunnon tiedot tallennetaan SQL Serveriin. Sitä on vaikea hallita InProc-tilassa useiden palvelinkoneiden kanssa. Sitä varten on parempi tallentaa tiedot vain SQL-palvelimelle, jolloin tiedot ovat keskitetysti kaikkien koneiden käytettävissä. Tämä tila tarjoaa äärimmäisen turvallisuuden, mutta sen suorituskyky on heikentynyt.

Nämä viisi ovat yleisimmin käytettyjä tilanhallintatekniikoita ASP.NET-sovelluksissa. Integroi tämä tekniikka sovellukseesi, joka voi varmistaa täydellisen tietoturvan ja nopean suorituskyvyn.

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