En inblick i statliga ledningstekniker som erbjuds av ASP.NET

0

Det finns en vanlig begränsning som kan observeras i funktionen av nästan alla webbapplikationer, vilket ökar deras tillståndslösa beteende. Det är den intermittenta anslutningen mellan servern och klienten.

Vad som händer är att när man implementerar HTTP (Hyper Text Transfer Protocol) för kommunikation över webben, följs ett speciellt mönster som kallas begäran och svar. Detta mönster är faktiskt tillståndslöst till sin natur eftersom det inte behåller tillståndet för någon begäran eller dess motsvarande svar. Närhelst en klient initierar en begäran till webbservern skapar webbservern därför ett helt nytt objekt för begäran. Detta orsakar i slutändan avbrott i anslutningen och skapar flaskhalsar i prestandan.

Lyckligtvis erbjuder ASP.NET en utmärkt lösning för att övervinna detta problem med flera effektiva tillståndshanteringstekniker för webbapplikationer.

Låt oss fundera över det fantastiska utbudet av ASP.NET och förstå hur det hjälper till att behålla kontrollernas tillstånd.

Det har observerats att när förfrågnings- och svarsmönstret skapar tur-och-retur-resorna, återförs serverkontrollvärdet på något sätt medan HTML-kontrollvärdet försvinner. Detta beror på att Sever Controls implicit implementerar State Management-tekniken (View State), som har gjort det möjligt för den att behålla tillstånden.

ASP.NET erbjuder ett antal briljanta tillståndshanteringsmetoder, alla är avsedda för olika applikationer. De är i princip uppdelade i två breda kategorier, nämligen klientbaserad tillståndshantering och serverbaserad tillståndshantering. Här är en kort introduktion till flera tekniker.

Klientbaserad State Management

I detta tillvägagångssätt lagras data på klientens dator eller på sidan utan att serverns resurser involveras. Denna lagrade data inkluderar all information relaterad till interaktionen mellan klienten och servern. Eftersom data lagras i klientens ände är det mer sårbart att bli hackad, vilket gör teknikerna mindre säkra samtidigt som de är mer skalbara.

Med detta tillvägagångssätt underlättar ASP.NET följande metoder:

1) Visa tillstånd:

Den här sidnivåmetoden hjälper till att lagra informationen om en viss sida tills den är aktiv. Det vill säga, så snart användaren omdirigerar till en annan sida kommer all lagrad information att försvinna. Det hjälper alltså till att upprätthålla tillståndet på sidnivå. I denna teknik lagras data i formuläret Dictionary Object (i paret av en nyckel och ett värde). All information lagras i ett hashat format på själva sidan, men inom ett dolt fält. Det kan konsumera ett strängvärde men bara upp till ett visst, om värdet överstiger, konsumeras ett annat dolt fält.

Med ASP.NET är View State standardmetoden som följs för att lagra tillståndet för webbapplikationer. Det är ganska enkelt att implementera och är idealiskt att använda när en användare omdirigeras till samma sida, och därför måste vi hålla informationen bestående tills han själv omdirigerar till någon annan sida.

Fördelar med att använda View State:

  • Säkra den lagrade informationen från lekman genom att lagra den i hashat format. Faktum är att för att skydda den från hackare kan du hålla informationen i ett krypterat format.
  • Du kan anpassa den när du vill.
  • Det är ett bra alternativ där du vill implementera flera inlägg på en enda webbsida.

Nackdelar med att använda View State:

  • Det är inte ett säkert tillvägagångssätt, så känslig data kan inte lagras med den.
  • Det kan orsaka overheadproblem eller öka laddningstiden genom att göra sidan tung med mycket information.
2) Cookies:

Det erbjuder stor anpassningsvänlighet vid klientens sida, eftersom cookies lagras antingen i minnet under klientens webbläsarsession eller bland annat i klientens system. Faktum är att man till och med kan lagra information om användare och spåra användningen. Den har en liten textfil med en maximal storlek på 4096 byte, och en klientdator kan visa upp maximalt 300 cookies, medan en domän eller server kan stödja maximalt 20 cookies.

Cookies är vidare indelade i två kategorier, nämligen:

Beständig cookie – Denna typ av cookies har ett utgångsdatum och sparas permanent på hårddisken som finns på klientens dator. Om det inte finns något utgångsdatum som motsvarar beständig cookie, kommer den att betraktas som en övergående eller icke-beständig cookie.

Icke-persistent cookie eller Transient cookie – Eftersom denna typ av cookies lagras i webbläsarens minne vid klientens slut under en tillfällig tid, efter den specifika tiden kommer kakan att gå vilse.

Fördelar med att använda cookies:

  • Den förbrukar bara några byte minne per cookie.
  • Lätt och ganska enkel att använda.

Nackdelar med att använda cookies:

  • Det erbjuder inte ett säkert tillvägagångssätt eftersom det lagrar informationen i klientens dator och därför är det inte ett hållbart val att lagra känslig data.
  • Alla användare kan inaktivera cookies genom att göra lämpliga justeringar i webbläsarinställningarna.
3) Dolda fält:

Detta är i grunden en serverkontroll, som hjälper till att hantera värdet på sidnivå och det är lite likt ett View State. Värdet skickas via HTTP-formulärsamlingen och tillsammans med det skickas även värdet av andra kontroller.

Fördelar med att använda dolda fält:

  • Det är ganska enkelt att använda.
  • Eftersom värdet endast lagras på sidan används inte serverresurserna alls. Således sparar de dolda fälten serverresurserna.

Nackdelar med att använda dolda fält:

  • Om flera dolda fält kommer att implementeras på en sida kommer det i slutändan att lägga vikt på sidan och göra den mer skrymmande och därmed öka sidans laddningstid.
  • Detta tillvägagångssätt är inte idealiskt för att lagra känsliga uppgifter. Eftersom den inte lagrar data i ett krypterat eller hashat format är denna teknik inte helt säker.
4 Ansökningsstatus:

Det här tillståndet är perfekt för att lagra data som krävs för att nås i hela applikationen. Den upptar serverresurserna, eftersom den lagrar data i serverminnet. Applikationstillståndet är inte begränsat till en viss användare eller session, utan är tillämpligt på alla sessioner och användare. Men i det här fallet kommer data endast att lagras under tiden tills applikationen körs, så snart applikationen avslutas eller startas om kommer hela den lagrade informationen att gå förlorad. Faktum är att det också kommer att gå till spillo när en webbserver startas om, eftersom data är gömd i serverns ände.

I Application State används ett objekt av klassen HttpApplicationState för att lagra data. Den här klassen är en namngiven objektsamling, vilket betyder att den innehåller data av vilken typ som helst. Det kan vara en del av ett nyckel/värdepar.

Fördelar med ansökan:

  • Ansökningsstaten har global räckvidd. Data kan nås när som helst när applikationen körs.
  • Det finns ingen utgångsperiod som standard.

Nackdelar med tillämpningsstat:

  • Application State kräver serverresurser för att lagra data. Detta kan leda till skalbarhetsproblem om det inte hanteras på rätt sätt.
  • Application State är inte trådsäkert, så vi måste implementera lås.
  • I fallet med ett programfel eller omstart går all lagrad data förlorad.
5 sessionstillstånd:

Denna metod används oftast av flera utvecklare för att upprätthålla applikationstillståndet. I detta tillvägagångssätt lagras värdet i form av ordbokssamling, det vill säga det paras ihop som nyckel och värde. Här används serverresurserna helt för att lagra applikationens tillstånd. Eftersom det lagrade inte överförs till klienterna, erbjuder denna teknik en säker och mycket säker metod.

I detta tillvägagångssätt genereras en separat session med ett unikt ID för varje användare. Eftersom detta ID sparas i klientens system används cookies för lagringen. Sessionen avbryts så snart användaren loggar ut från applikationen, och om han återvänder till applikationen i framtiden skapas en ny session.

Den kan användas i vilket som helst av de fyra lägena. Här är lägena:

  • AV – För att avaktivera sessionen, det vill säga om du inte är intresserad av att inkludera sessionstillståndet i din applikation, kan du ställa in läget AV.
  • InProc – Sessionsvariabeln lagras i detta läge som standardlager. Här lagras värdet i samma process där ASP.NET-applikationen faktiskt körs. Det ger alltså enastående prestanda.
  • State Server – I detta läge lagras data i en separat process i Windows-tjänsten. Det isolerar alltså de två processerna, en där applikationen körs och den andra där data lagras. Därför är dess prestanda inte lika bra som i InProc-läget.
  • SQL Server – Här lagras sessionsdata i SQL Server. Det är svårt att hantera i InProc-läget med flera servermaskiner. För det är det bättre att endast lagra data i SQL-servern, det kommer att göra data centralt tillgänglig för alla maskiner. Detta läge erbjuder högsta säkerhet, men det ger försämrad prestanda.

Dessa fem är de vanligaste tillståndshanteringsteknikerna för ASP.NET-applikationer. Integrera den tekniken i din applikation som kan säkerställa fullständig säkerhet för data och snabb prestanda.

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