Individuell Page.Cache variabel

Et artig eksempel på bruk av Page.Cache

Problemet mitt er som følger:
Brukerne skal fylle ut et skjema. Skjemaet er bygget opp så legger til og fjerner rader fra et dataset. For hver rad som legges til /slettes eller endres må datasettet oppdateres. So far so good. Utfordringen kommer ved at jeg ikke kan lagre datasettet i basen for hver av disse operasjonene. Mitt dataset ligger derfor lagret i Page.cache. Dette fungerer helt fint, til det kommer flere brukere inn på siden som gjør dette samtidig. (Da vil begge brukerne dele på datasettet.)

For å komme rundt dette, har jeg laget et prefix, som er unikt for brukeren (BrukerID eller noe slikt), som jeg har lagert i en cookie. Denne prefixen bruker jeg så når jeg skal lagre og hente data fra Page.cache.

C# eks:
Page.Cache[getUserPrefix + «Dataset»] = myDataSet;
og
myDataSet = (DataSet)Page.Cache[getUserPrefix + «Dataset»];

public string getUserPrefix()
{
    string retVal = «»;
    if(this.Page.Request.Cookies[«CookieNavn»] != null && this.Page.Request.Cookies[«CookieNavn»].HasKeys)
    {
          if(this.Page.Request.Cookies[«CookieNavn»][«UserPrefix»] != null)
          {
              retVal = this.Page.Request.Cookies[«CookieNavn»][«UserPrefix»].ToString();
          }
    }
    return retVal;
}

Legg igjen en kommentar

Fyll inn i feltene under, eller klikk på et ikon for å logge inn:

WordPress.com-logo

Du kommenterer med bruk av din WordPress.com konto. Logg ut /  Endre )

Google+-bilde

Du kommenterer med bruk av din Google+ konto. Logg ut /  Endre )

Twitter-bilde

Du kommenterer med bruk av din Twitter konto. Logg ut /  Endre )

Facebookbilde

Du kommenterer med bruk av din Facebook konto. Logg ut /  Endre )

Kobler til %s