..


Sponsoroidut linkit

Caching tiedot

Tiedot välimuisti on hyödyllinen keino parantaa suorituskykyä tahansa ohjelmisto. Ajatuksena on laittaa usein käytettyjä tietoja erittäin tehokas laite. Itse asiassa, vaikka aikaa tutustua massatallennuslaitteiden edelleen parantaa, esimerkiksi tietojen saatavuutta asuvia kovalevy on edelleen hyvin hitaampi päästä heitä, kun he ovat muistissa. Niinpä saataville tietoja nopeammin käytetään vaikuttaa merkittävästi parantaa suorituskykyä sovellustemme.

Vuonna ASP.NET Cache on samansuuntainen meidän sovelluksia ja on saatavilla HttpContext ja System.Web.UI.Page. Käytä Cache on hyvin samankaltainen kuin on nähty Session-objektin, kuten voit saada objekteihin sitä kautta indeksointitoiminnon. Lisäksi voit myös ohjata kesto oliovalintoihin ja yhteyksiä objektien välimuisti ja fyysinen tietolähde.

Välimuistin hallinta ASP.NET on erittäin helppo nähdä, miten edetä esimerkki. Oletetaan, että olet GetData () menetelmä, jonka avulla yhteys tietokantaan ja palauttaa datatable






 suojattu DataTable GetData ()







 {



  



 DataTable dt = null;



  



 dt = uusi DataTable ();



  



 strConnection String = "Yhteys merkkijono DB";



  



 DbProviderFactory f =



  



 DbProviderFactories.GetFactory ("System.Data.SqlClient");



  



 käyttäen (DbConnection conn = f.CreateConnection ())



  



 {



    



 conn.ConnectionString = strConnection;



    



 conn.Open ();



    



 DbCommand komento = f.CreateCommand ();



    



 command.CommandText = "SELECT * FROM tablename";



    



 command.Connection = yht;



    



 IDataReader lukija = Command.ExecuteReader ();



    



 dt.Load (lukija);



    



 reader.Close ();



    



 conn.Close ();



  



 }



  



 takaisin DT;







 }



Meillä on myös toinen menetelmä BindData (), joka yhdistää tiedot palauttama GetData () ja DataList läsnä yksi meidän verkkolomakkeella






 BindData suojattu DataTable ()







 {



  



 DataTable DT;



  



 this.GetData dt = ();



  



 this.DataList1.DataSource = dt;



  



 this.DataBind ();



  



 takaisin DT;







 }



Toinen tapa, että tarvitsemme meidän esimerkki on CreaTabella joka palauttaa taulukon rakennetta mukaan tietyn mallin






 CreaTabella suojattu DataTable (DataTable tableSchema)







 {



  



 DataTable taulukko = new DataTable ();



  



 foreach (DataColumn DC tableSchema.Columns)



  



 {



    



 tabella.Columns.Add (dc.ColumnName,



    



 dc.DataType);



  



 }



  



 palata pöytä;







 }



Menetelmät GetData () ja BindData () kutsutaan vuonna Page_Load tapahtumaa seuraavasti






 void Page_Load (objekti lähettäjän, EventArgs e)







 {



  



 if (IsPostBack)



  



 {



    



 DataTable dt = BindData ();



    



 DataTable elementiTabella this.CreaTabella = (DT);



    



 Session ["elementiTabella"] = elementiTabella;



  



 }







 }



ja sen jälkeen aina kun sivu luodaan otat yhteyden tietokantaan ja lataa tietoja. Tilanteessa, jossa pyynnöt ovat sisällä asiakkaan, mikä voisi olla hyväksyttävää sovelluksia mitoitettu vaatimuksiin tuhansia asiakkaita tämä ei ole hyväksyttävää. Itse asiassa, tietokantojen käytön toimintojen kallista lahjaa ajoissa ja tulisi minimoida.

Tässä vaiheessa voimme tehdä joitakin arvioita tietojen luonne hallinnoi meidän hakemuksen. Vain ihmetellä, jos haluat ladata tiedot joka kerta, jos niillä ei muuteta usein. Jos tällainen tarve voimme ajatella tallentaa Tällaisten tietojen välineellä, joka mahdollistaa pääsyn samaan erittäin nopeasti ja ilman yhteydet tietokantaan (esimerkiksi tietokoneen sisäiseen muistiin). Näin hakemus olisi tavata paljon enemmän samanaikaisia ​​pyyntöjä asiakkailta. Ilmeisesti jos käsittelemiin meidän hakemus olisi kovinkaan usein tämä lähestymistapa ei ole tarkoituksenmukaista.

Toimenpiteitä tehdä tietojen välimuistiin ovat:

  1. Tarkista onko tietty data on välimuisti
  2. Jos välimuistissa käyttäen
  3. Jos ei ole välimuistia saada se muodostaa yhteyden tietokantaan
  4. Säilytä elementti juuri ladattu välimuistiin myöhempää käyttöä varten

Tässä vaiheessa aiomme muuttaa menetelmiä, jotka näimme alussa Tämän oppitunnin hallintaan tietojen välimuistiin. Tässä on menetelmä GetData () muokattu






 suojattu DataTable GetData ()







 {



  



 DataTable dt = null;

  

  



 dt = (DataTable) Cache ["TabellaInCache"];

  

  



 if (DT == null)



  



 {



    



 dt = uusi DataTable ();



    



 strConnection String = "Yhteys merkkijono DB";



    



 DbProviderFactory DbProviderFactories.GetFactory = f ("System.Data.SqlClient");



    



 käyttäen (DbConnection conn = f.CreateConnection ())



    



 {



      



 conn.ConnectionString = strConnection;



      



 conn.Open ();



      



 DbCommand komento = f.CreateCommand ();



      



 command.CommandText = "SELECT * FROM tablename";



      



 command.Connection = yht;



      



 IDataReader lukija = Command.ExecuteReader ();



      



 dt.Load (lukija);



      



 reader.Close ();



      



 conn.Close ();



    



 }



  



 }



  



 Cache ["TabellaInCache"] = dt;



  



 takaisin DT;







 }



Uudessa menetelmässä GetData () ensin tarkistaa onko taulukon välimuisti. Jos taulukko ei ole, jos (DT == null) se on luotu kuten tehtiin aikaisemmin, mutta jos on osa tietokantayhteyden ja tiedon louhinta on täysin ohitettu. Joka tapauksessa ennen paluutaan taulukkoon on tallennettu välimuistiin (Cache ["TabellaInCache"] = dt;). Nämä pienet muutokset voivat merkittävästi alentaa lastaus sivun (jos olet jo luonut selkeän aikaa).

On selvää, että tämä opetus on tehdä sinusta järkevää potentiaalia välimuistin tiedot ja tutkia eri tapoja välimuistin hallintaan, sen menetelmät käyttöön ja nähdä, mitkä voisivat olla hyödyllisiä aika ajoin pyydän teitä kuulemaan Microsoftin virallinen .

Apua Visual Studio ASP.Net
E-Learning
ASP (Advanced) ASP (Advanced)
Täysi tietenkin luoda dynaamisia Web-sivustoja. Alkaen 39 €.
ASP.NET (kurssi) ASP.NET (kurssi)
Koko kurssin rakentamiseen web-sovellusten alkaen 49 €.
SQL ja Database (kurssi) SQL ja Database (kurssi)
Luoda ja hallita relaatiotietokantojen. Alkaen 39 €.
Sponsoroidut linkit