caching, hvad er caching?caching er en teknik, der ofte anvendes til opbevaring af data /oplysninger i hukommelsen, så når de samme data /oplysninger, der er nødvendige for næste gang kan det være direkte hentet fra hukommelsen i stedet for at blive genereret af anvendelsen. caching er yderst vigtigt for ydeevne, fremme i asp.net, som sider og kontrol er dynamisk, der genereres her.det er især vigtigt for data vedrørende transaktioner, som de er for dyre i forhold til responstid. caching steder, ofte anvendes data i hurtigt tilgængelige medier såsom random access memory af computeren.den asp.net runtime omfatter en central værdi kort over clr objekter, kaldet lager.dette er bosat sammen med ansøgningen, og som er tilgængelige via httpcontext og system. spind. eu - erhvervsgrenen, side. i nogle henseender svarer til opbevaring af caching stat modsætter sig dette.den lagring af oplysninger i genstande er deterministiske, dvs. de kan regne med de data, der er lagret, og caching af data er nondeterministic. de data, der ikke vil være til rådighed i følgende tilfælde:,, hvis dets levetid udløber, hvis ansøgningen afgiver sin hukommelse, hvis kravene ikke finder sted af en eller anden grund.,, du kan få adgang til poster på lager ved hjælp af en indexer og kan kontrollere levetid af genstande i cache og oprette forbindelser mellem skjult genstande og deres fysiske energikilder. caching i asp. netto, asp.net giver følgende forskellige former for caching:,,,, produktion: produktion caching, cache opbevarer en kopi af endelig gjort html sider eller en del af sider sendes til kunden.når den næste klient forespørgsler på denne side, i stedet for at genskabe side, en skjult kopi af side er sendt, hvilket sparer tid.,,,,, data: data caching, caching betyder caching data fra en kilde.så længe lager, ikke er udløbet, en anmodning om oplysninger vil blive opfyldt fra lager.når cache er udløbet, friske oplysninger indsamlet af de datakilder og cache er genopfyldes.,,,,, objekt caching,: formål caching er caching genstande på en side, såsom data knyttet kontrol.den skjult data lagres i server hukommelse.,,,,, klasse caching,: hjemmesider eller web services er samlet i en side klasse i forsamlingen, når det kører for første gang.- forsamlingen er skjult på serveren.næste gang, er der en opfordring til side eller service, skjult forsamling er omhandlet.når kildekoden er ændret, clr recompiles forsamlingen.,,,,, konfiguration caching,: anvendelse - konfiguration oplysninger lagres i en konfiguration, fil.konfiguration caching butikker konfiguration oplysninger på serveren hukommelse.,,, på det pædagogiske, vil vi overveje output caching, data caching, og formålet caching. produktionen caching, hvor side kan indebære visse komplekse processer, såsom, adgang til databaser, hvor komplekse kontrol osv. output caching tillader uden sejladser til server med caching data i hukommelsen.selv en hel side kan være skjult.den outputcache direktiv er ansvarlig for produktionen caching.det gør det muligt for output caching og giver visse kontrol over dens adfærd., syntaks for outputcache direktiv:, <% @ outputcache varighed = "15" varybyparam = "ingen"% > dette direktiv under side direktiv.det fortæller miljø cache side i 15 sekunder.følgende tilfælde fører til side ville bidrage til afprøvning, at side var skjult, beskyttede tomrum page_load (objekt afsender, eventargs e) (tråd. søvn (10); svar. skrive ("denne side blev skabt, og lager på:" + datetime. nu. tostring())}, tråd. sleep(), metode standser processen tråd til den fastsatte tid.i dette eksempel, tråd er stoppet i 10 sekunder, så når side er lastet for første gang, det tager ti sekunder.men næste gang du opfriske den side, der ikke tager nogen tid, som siden er hentet fra den cache uden at blive ladt., outputcache direktiv har følgende attributter, som hjælper med at kontrollere den adfærd, der udvises af produktionen cache:,, attribut, værdier, beskrivelse, diskcacheable sandt /falsk angiver, at produktionen kan være skrevet til en disk baseret lager.nostore sandt /falsk specificerer, at "forretning" cache kontrol header sendes eller ej.cacheprofile snor navn, der passer til en cache profil, som opbevares i web.config.varybyparam, ingen *, param - navn semikolon afgrænset liste over snor angiver forespørgsel snor værdier i en anmodning eller variabel i tiden efter anmodning.varybyheader (header navne, semikolon afgrænset liste over personer, der kan være strenge angiver indgives af en klient.varybycustom, browser, sædvane snor, siger asp.net variere produktionen cache af browser navn og version eller sædvane snor.placering, klient, downstream - serveren, ingen, enhver: side kan være skjult hvor som helst. klient: indhold forbliver skjult i browseren. længere nede: skjult indholdet opbevares i senere omsætningsled og server., - serveren: skjult indhold reddede kun på server. ingen: deaktiverer caching, varighed, antallet af sekunder. den side eller kontrol er skjult.lad os tilføje en tekst boks og en knap til det foregående eksempel og tilføje denne begivenhed kontaktperson for knap. beskyttet tomrum btnmagic_click (objekt afsender, eventargs e) (svar. skrive (< br > < br > "); svar. skrive (< og h2 > -" + this.txtname.text + "< /h2 >");}, ændre outputcache direktiv:, <% @ outputcache varighed = "60" varybyparam = "txtname"% >, når programmet er gennemført, asp.net depoter side om grundlag af navnet i tekstboks. data caching, det vigtigste aspekt af data caching er caching datakilden kontrol.vi har allerede drøftet det datakilden kontrol repræsenterer data i en datakilde, som en database eller en xml - filer.denne kontrol i medfør af en abstrakt klasse, datasourcecontrol og har følgende arvelige egenskaber for at gennemføre kravene:,,,, cacheduration, - det er antallet af sekunder, for hvilke data kilde vil cache data.,,,,, cacheexpirationpolicy, - den definerer cache opførsel, når oplysningerne i cache er udløbet.,,,,, cachekeydependency - identificerer en nøgle for den kontrol, der automatisk udløber indholdet af sin cache når fjernet.,,,,, enablecaching, - det angiver, hvorvidt til cache data.,,, f.eks. at vise data caching, skabe en ny hjemmeside og tilføje en ny hjemmeside form på det.tilføje en sqldatasource kontrol med databasen forbindelse allerede anvendes i adgang til data tutorials. for dette eksempel, tilføje en etiket på den side, som viser de responstid for side. < asp: fareseddel id = "lbltime" runat = "tjener" > < /asp: etiket > bortset fra etiketten indhold side er den samme som i den adgang til data tutor.der tilsættes en begivenhed kontaktperson for side belastning begivenhed: beskyttet tomrum page_load (objekt afsender, eventargs e) (lbltime. tekst = - format ("side lagt på: {0}", datetime. nu. tolongtimestring())}, som side bør se ud som vist:,, når de udfører side for første gang, noget andet er mærket viser, at hver gang du opfriske den side, side er ladt, og tiden er anført på etiketten ændringer. næste, der enablecaching attribut i datakilden kontrol for at være rigtigt, og det cacheduration tilskriver "60".det vil gennemføre caching og cache udløber hver 60 sekunder, tidsstempling forandringer med alle her, men hvis du ændre dataene i tabel i 60 sekunder, det er ikke vist, før cache udløber. < asp: sqldatasource id = "sqldatasource1" runat = "- -" connectionstring = "<% $connectionstrings: aspdotnetstepbystepconnectionstring% >" providername = "<% $connectionstrings: aspdotnetstepbystepconnectionstring.providername% >" selectcommand = "vælg * fra [dotnetreferences]" enablecaching = "ægte" cacheduration = "60" > < /asp: sqldatasource >, objekt caching, objekt caching giver større fleksibilitet end andre cache - teknikker.du kan bruge imod caching til ethvert objekt på lager.formålet kan være af nogen art - en datatype, et web - kontrol, en klasse, et datasæt, mål osv. de tilføjes til lager, blot ved at tildele en ny nøgle navn, angivet som følger:, cache ["nøgle"] = post, asp.net giver også insert() metode til at indsætte en objekt til lager.denne metode har fire overbelastet versioner.lad os se dem:,, overbelastning, beskrivelse, cache. indsæt (centrale, værdi); indføjer et punkt i lager med nøglen navn og værdien med tillæg af prioriterede og udløb.cache. indsæt (centrale, værdi, afhængighed) indfører et punkt på dagsordenen til lager med centrale, værdi, default prioritet, udløb og en cachedependency navn der links til andre registre eller produkter, således at disse ændre cache punkt på dagsordenen er ikke længere gyldige.cache. indsæt (centrale, værdi, afhængighed, absoluteexpiration, slidingexpiration); det viser udløb politik sammen med ovennævnte spørgsmål.cache. indsæt (centrale, værdi, afhængighed, absoluteexpiration, slidingexpiration, prioritet, onremovecallback); dette sammen med de parametre, også giver dem mulighed for at fastsætte en prioritet for cache post og en delegeret, der peger på en metode, som vil blive anvendt, når det punkt på dagsordenen er fjernet., glidende udløb, anvendes til at fjerne et produkt fra det lager, hvor det ikke er anvendt til det angivne tidsrum.følgende kode snippet opbevarer en genstand med en glidende udløbet af 10 minutter uden afhængighed, cache. indsæt ("my_item", mål, nul, datetime.maxvalue, tidsrum. fromminutes (10), f.eks. skabe en side med et tryk på en knap, en etiket.Write the following code in the page load event:, protected void Page_Load(object sender, EventArgs e) { if (this.IsPostBack) { lblinfo.Text += "Page Posted Back.<br/>"; } else { lblinfo.Text += "page Created.<br/>"; } if (Cache["testitem"] == null) { lblinfo.Text += "Creating test item.<br/>"; DateTime testItem = DateTime.Now; lblinfo.Text += "Storing test item in cache "; lblinfo.Text += "for 30 seconds.<br/>"; Cache.Insert("testitem", testItem, null, DateTime.Now.AddSeconds(30), TimeSpan.Zero); } else { lblinfo.Text += "Retrieving test item.<br/>"; DateTime testItem = (DateTime)Cache["testitem"]; lblinfo.tekst + = "testkemikaliet er:" + testitem. tostring(); lblinfo. tekst + = "< br />"} lblinfo. tekst + = "< br />"), når den side er lastet for første gang, siger man: side skabte.oprettelse af testkemikaliet.opbevaring af testkemikaliet i depot i 30 sekunder.hvis du klikker på knappen igen inden for 30 sekunder siden er udstationeret tilbage men etiketten kontrol får oplysninger fra det lager, som vist:, side lagt tilbage.henter testkemikaliet.testkemikalie: 14-07-2010 01:25:04,
asp.net - data
Previous:asp.net - linq
Next Page:asp.net - webtjenester