Sisällysluettelo:
Määritelmä - mitä sovellustila tarkoittaa?
Sovellustila .NET-kontekstissa on ohjelmistorakenne, johon pääsy tapahtuu yleensä HttpContext-objektin sovellusominaisuuden avulla.
Sovellustilat yleensä tallentavat tietoja substantiivien muodossa, kuten henkilö, paikka tai esine, ja esittävät avain-arvon sanakirjan, jota käytetään näiden esineiden ja muuttujien tallentamiseen. Sovellustilaluokka luodaan aivan ensimmäisen kerran, kun kuka tahansa asiakas pyytää URL-resurssia, ja ohjelmoijat käyttävät sitä usein globaaleina muuttujina, jotka kaikki asiakkaat näkevät sen jälkeen istunnoissaan.
Sovellustilaa voidaan kutsua myös HttpApplication-tilaksi.
Techopedia selittää sovellustilan
Selaimen toiminta HTTP-pyyntöjen ja -vastausten muodossa on luontaisesti valtioton - tarkoittaen, että jokainen käyttäjän selaimeen lähetetty sivu ei tiedä muista käyttäjistä, jotka saattavat tarkastella samaa sivua tai jopa muita saman käyttäjän sivuja.
Tämä voi aiheuttaa vaikeuksia hyödyllisen kokemuksen tarjoamisessa käyttäjille Internetissä. Esimerkiksi, jos käyttäjä pyysi verkkosivustolta ensimmäisen 10 sivun tietosivua, todennäköisesti viivästyminen tapahtuu, kun Web-palvelin menee tietokantaan tietojen noutamiseksi. Verkkosovelluksen tulisi olla riittävän fiksu tunnistamaan sivu 2 käyttäjän todennäköisesti pyytäessä sitä ja ryhtymään toimiin näiden tietojen toimittamiseksi nopeasti tallentamalla se web-palvelimen muistivälimuistiin. Tämä olisi vaikea tehdä ilman keinoja luoda ja tallentaa globaaleja muuttujia - tässä tapauksessa välimuistissa olevia tietoja.
Sovellustila tarjoaa tämän keinon luoda globaaleja muuttujia, jotka kaikki käyttäjät voivat nähdä.
Yksi haitta sovellustilaluokissa on, että ne voivat aiheuttaa umpikujan, jossa yhden käyttäjän toiminta voi tietämättään yrittää päivittää muuttujaa samalla, kun toinen käyttäjä myös tekee niin, tai aiheuttaa kilpailuolosuhteita ja pääsyn loukkauksia.
Tästä huolimatta sovellustilaluokkien käyttö on kannattavaa, ja sitä voidaan käyttää tarjoamaan paljon parempi käyttökokemus Internetissä selaileville.
