Et site med kursusmaterialer, der bruges i forbindelse med undervisning i forskellige it relaterede emnerEn skøn grafik du kan nyde mens der undervises.
   

Send spørgsmål eller kommentar til Thor - klik her: Send en kommentar til Thor - omkring undervisning eller kursus  Søg i kursusmaterialerne. Kan bruges i forbindelse med undervisningen eller efter kurset  Til forsiden af kursusmaterialer.dk 

 

ASP.NET II / Optimering / Mere om caching


ASP.NET fjernundervisningskursus

- Vil du gerne på kursus NU?

- Vil du gerne lære i dit eget tempo?

- Har du ikke tid til at tage på kursus ude i byen?

Så køb et kursus i ASP.NET som fjernundervisning på www.it-fjernundervisning.dk


Caching

Der er 3 forskellige steder man kan bruge caching i en ASP.NET applikation

På IIS'en

På server extensions fanen kan man styre, hvordan IIS'en skal bruge sin cache.

 

På side niveau

På den enkelte side kan man sætte direktivet:

<%@ OutputCache Duration="antal sekunder" Location="Any | Client | Downstream | Server | None"
VaryByControl="control-name" VaryByCustom="browser | custom-string"
VaryByHeader="headers" VaryByParam="parameter-name" %>

Bemærk at Duration og VaryByParam skal være der.

ParameterBeskrivelse
DurationSætter levetiden for cachen i sekunder
Location
VaryByControlBruges til at sørge for at cache specifikt på enkelte kontroller på siden f.eks. VaryByControl="State;Country"  sørger for at opdatere cachen når disse to kontroller ændres. Man kan også sætte Shared="true" hvis man har flere sider, der bruger sammen ascx fil.
VaryByCustomKan have værdien VaryByCustom="browser" hvis man vil cache sider for hver browsertype. Og brug en custom string, hvis du vil styre det mere detaljeret (kræver også lidt kodearbejde - læs her
VaryByHeader

Cacher sider med specielle værdier i HTTP headeren. VaryByHeader="Accept-Language" kunne være en mulig indstilling. Kommer der fire forespørgsler med disse værdier i Accept-Language

de-lu
en-us
fr
en-us

Vil der blive dannet 3 cachede sider

VaryByParam

Skriver man f.eks. varybyparam="City" vil sider med samme værdi af parameteren City blive cached. I dette tilfælde vil disse forespørgsler
http://www.microsoft.com/caching/mycache.aspx?count=10&city=dallas
http://www.microsoft.com/caching/mycache.aspx?count=10&city=newyork
http://www.microsoft.com/caching/mycache.aspx?city=dallas
http://www.microsoft.com/caching/mycache.aspx?city=seattle

danne 3 cachede sider. 

Brug varybyparam="none" hvis du ikke vil cache på side parametre

 

 

Gennem cache objektet

ASP.NET har et cache objekt, der kan bruges til at gemme informationer der skal bruges på tværs af sessioner.

Tildele værdier til cachen

Cache["Produkter"] = dsetProduktdata;

eller

Cache.Insert("Produkter", dsetProduktdata, null);

Den sidste parameter giver mulighed for at oprette en cache afhængighed - f.eks. af en fil - det kunne se sådan her ud:

  private void UpdateCache(string strItem)
  {
   string strPath = Server.MapPath(strItem);
   XmlDocument doc = new XmlDocument();
   doc.Load(strPath);
   CacheDependency Afhaengighed = new CacheDependency(strPath);
   Cache.Insert(strItem,doc,afhaengighed);
  }

Læs også:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp03282002.asp


   
Spacer Spacer Spacer Spacer