Az ASP.NET alkalmazások webszervereken vannak tárolva . Az állapot nélküli HTTP protokollon keresztül érhetők el . Alapvetően, ha egy alkalmazás állapotalapú interakciót használ, akkor önállóan kell megvalósítania az állapotkezelést. Az ASP.NET különféle módokat kínál az alkalmazás állapotának kezelésére az ASP.NET -ben [1] :
Az alkalmazás állapota elsősorban globális adatok tárolására szolgál egy alkalmazáson belül. A szerver memóriájában található, és lehetővé teszi az összes .NET adattípus tárolását . A változók élettartama megegyezik egy ASP.NET -alkalmazás élettartamával . Az alkalmazásállapot-változók beállítása és inicializálása egy eseményen Application_OnStartaz első alkalmazáspéldány betöltési fázisában történik, és mindaddig elérhetőek maradnak, amíg az utolsó alkalmazáspéldány létezik. Ezek a változók minden weboldalon elérhetők a beépített objektumon keresztül, Applicationés nevük alapján azonosíthatók [2] .
A nézet állapota az oldalszintű állapotkezelési mechanizmusra utal, amelyet a HTML -oldalak használnak a webes űrlap-összetevők és modulok állapotának tárolására . Amikor a szerver kéri, az összetevők (vezérlők) aktuális állapota kódolásra kerül, és egy rejtett mezőben elküldésre kerül a szervernek __VIEWSTATE. A kiszolgáló visszaküldi a változót, így az oldal újbóli megjelenítésekor a vezérlőelemek a legutóbbi állapotukban jelennek meg. A szerver oldalon egy alkalmazás módosíthatja a nézet állapotát, ha a feldolgozási eredmények legalább egy vezérlőt frissítenek az oldalon. Az egyes összetevők állapotát a szerver dekódolja, és elérhetővé teszi az ASP.NET oldalakon a ViewState[3] gyűjtemény segítségével .
A munkamenet állapota a felhasználói változók halmaza, amelyek továbbra is léteznek a felhasználó munkamenete alatt. Ezek a változók egyediek a különböző felhasználói munkamenet-példányokhoz, és a következőn keresztül érhetők el Session. Ezek a munkamenet-változók beállíthatók úgy, hogy automatikusan megsemmisüljenek egy bizonyos ideig, amikor a felhasználó inaktív, még akkor is, ha a munkamenet még nem ért véget. A kliens oldalon a felhasználói munkamenetet egy cookie vagy az URL -jében található munkamenet-azonosító azonosítja [2] .
Az ASP.NET a következő munkamenet-változókat támogatja [2] :
InProc A munkamenet-változók az ASP.NET folyamaton belül vannak karbantartva . Ebben a módban azonban a változók megsemmisülnek, amikor az ASP.NET folyamatot újraindítják vagy leállítják. StateServer Ebben a módban az ASP.NET egy külön szolgáltatást ( service ) indít el, amely állapotváltozókat karbantart. Mivel az állapotkezelés az ASP.NET folyamaton kívül történik, ez negatív hatással van a teljesítményre, de lehetővé teszi számos ASP.NET -példány megosztását egy közös állapotkiszolgálón, így lehetővé válik az ASP.NET -alkalmazások egyenletes elosztása a különböző szerverek között (kiegyensúlyozás). ). betöltés és méretezés több szerverre). Mivel az állapotkezelési szolgáltatás az ASP.NET-től függetlenül fut , az ASP.NET folyamat kilépése után is létezhetnek változók . SQL szerver Ebben a módban az állapotváltozók az adatbázis-kiszolgálón tárolódnak, és SQL -en keresztül érhetők el . Állapotváltozók létezhetnek az ASP.NET folyamat kilépése után, akárcsak az előző esetben. Egyedi Ebben a módban meg kell adnia a munkamenet-tároló szolgáltatóját a customProvider attribútum használatával. Leggyakrabban akkor használatos, ha a munkamenet-információkat az SqlServertől eltérő adatbázisban kell tárolni (például MySql vagy Oracle). Ki A munkamenet állapotának kezelése le van tiltva. Munkamenet példa Session [ "Név" ] = "Vaszilij Pupkin" ; //Session["Név"] = (objektum); munkamenet . Add ( "Kor" , 16 ); //Kérje meg az értéket. válasz . Write (( string ) Session [ "Name" ] + ": " + Session [ "Age" ]. ToString () + "-years old." ); Az eredmény a webszerver http-válaszában van írvaВасилий Пупкин: 16-years old.
A lekérdezési karakterlánc paraméterek segítségével kis mennyiségű információ továbbítható az oldalról a szerverre, így biztosítva az állapotalapú támogatást. Ez a legegyszerűbb módja az állapot fenntartásának az ASP.NET alkalmazásokban, amely csak egy oldalt fed le. Ha a felhasználó bezárja a böngészőt, az állapot elveszik (kivéve, ha valamilyen extra trükköt alkalmaznak az állapotadatok tárolására, például cookie-ban). Ennek a módszernek a hátrányai a következők:
.HÁLÓ | |
---|---|
Megvalósítások | |
Építészet | |
Infrastruktúra |
|
Microsoft nyelvek | |
Más nyelvek | |
Windows alapok | |
Alkatrészek | |
Összehasonlítások |
|
Jövő technológiái | |
Információs források |