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;
}
