..
Duomenų spartinimo yra naudinga priemonė, siekiant pagerinti bet kokios programinės įrangos sistemos veikimą. Idėja yra sukurti dažnai naudojamų duomenų labai galingas prietaisas. Iš tiesų, nors prieigos prie duomenų kaupiklių metu toliau tobulinti, pavyzdžiui, prieigą prie duomenų, gyvenančių kietajame diske yra dar labai lėčiau, nei, kaip jomis pasinaudoti, kol jie yra atminties. Taigi pateikti duomenys greičiau naudojama žymiai prisideda, siekiant pagerinti mūsų programų efektyvumą.
Į ASP.NET Talpykla yra lygiagreti į mūsų prašymus ir yra prieinama per HttpContext ir System.Web.UI.Page. Naudokite talpyklos yra labai panašus į tai, kas buvo matyti, kad sesijos objektas, kaip jūs galite gauti prieigą prie objektų jį per indeksavimo. Be to, galite taip pat kontroliuoti objektus ir ryšius tarp objektų talpyklą ir fizinio duomenų šaltinio, nustatyti trukmę.
Talpyklą valdymo ASP.NET yra labai paprasta pamatyti, kaip pradėti pavyzdys. Tarkime, jūs turite GetData () metodą, kuris leidžia prisijungti prie duomenų bazės ir grąžina DataTable
apsaugotas DataTable GetData ()
{
DataTable dt = null;
dt = nauji DataTable ();
strConnection String = "Jungtis eilutę BP";
DbProviderFactory f =
DbProviderFactories.GetFactory ("System.Data.SqlClient");
naudojant (DbConnection conn = f.CreateConnection ())
{
conn.ConnectionString = strConnection;
conn.Open ();
DbCommand komandą = f.CreateCommand ();
command.CommandText = "SELECT * FROM TableName";
command.Connection = Conn;
IDataReader skaitytojui = Command.ExecuteReader ();
dt.Load (skaitovas);
reader.Close ();
conn.Close ();
}
grįžti dt;
}
Mes taip pat turime kitą metodą BindData (), kuri susieja duomenų grąžina GetData (), kad DataList metu viename iš mūsų internetinę formą
BindData apsaugotas DataTable ()
{
DataTable dt;
this.GetData dt = ();
this.DataList1.DataSource = dt;
this.DataBind ();
grįžti dt;
}
Kitas būdas, kad mums reikia mūsų pavyzdys CreaTabella, kad grąžina lentelės struktūrą pagal tam tikrą modelį
CreaTabella apsaugotas DataTable (DataTable tableSchema)
{
DataTable stalo = nauji DataTable ();
foreach (DataColumn DC tableSchema.Columns)
{
tabella.Columns.Add (dc.ColumnName,
dc.DataType);
}
grįžti lentelę;
}
Metodai GetData () ir BindData () yra vadinama Page_Load atveju taip
apsaugotas negaliojančiu Page_Load (objektas siuntėjas, EventArgs e)
{
if (IsPostBack)
{
DataTable dt = BindData ();
DataTable elementiTabella this.CreaTabella = (DT);
Sesija ["elementiTabella"] = elementiTabella;
}
}
ir tada kiekvieną kartą, kai puslapis sukurtas jums prisijungti prie duomenų bazės ir Perkrovimai duomenis.
Į sąlygomis, kai prašymai iš per kliento, kas gali būti priimtina teikti paraiškas dydžio, kad atitiktų tūkstančių klientų poreikius tai nėra priimtina.
Tiesą sakant, prieigą prie duomenų bazės operacijų labai brangus dovaną laiką ir turėtų būti sumažintas iki minimumo.
Šiuo metu mes galime padaryti kai kurių duomenų valdo mūsų prašymą pobūdžio įvertinimų. Tiesiog įdomu, jei norite Perkrauti duomenų kiekvieną kartą, jeigu jie nekeičia dažnai. Jei yra toks poreikis, mes galime galvoti saugoti tokius duomenis tokioje laikmenoje, kurios leidžia naudotis ta pačia labai greitai ir be prijungimo prie duomenų bazės (pavyzdžiui, kompiuterio vidinės atminties). Tokiu būdu taikant būtų patenkinti daug kartu prašymų iš klientų. Žinoma, jei duomenys tvarkomi mūsų taikymas keičiasi labai dažnai šis požiūris būtų netinkamas.
Veiksmus atlikti duomenų talpyklos yra:
Šiuo metu mes ketiname keisti metodus, kad pamatėme šio valdymo duomenų spartinimo pamokos pradžioje. Čia yra metodas GetData () kartą
apsaugotas DataTable GetData ()
{
DataTable dt = null;
dt = (DataTable) talpyklos ["TabellaInCache"];
jei (DT == null)
{
dt = nauji DataTable ();
strConnection String = "Jungtis eilutę BP";
DbProviderFactory DbProviderFactories.GetFactory = f ("System.Data.SqlClient");
naudojant (DbConnection conn = f.CreateConnection ())
{
conn.ConnectionString = strConnection;
conn.Open ();
DbCommand komandą = f.CreateCommand ();
command.CommandText = "SELECT * FROM TableName";
command.Connection = Conn;
IDataReader skaitytojui = Command.ExecuteReader ();
dt.Load (skaitovas);
reader.Close ();
conn.Close ();
}
}
Cache ["TabellaInCache"] = dt;
grįžti dt;
}
Į naują metodą GetData () Pirmą kartą patikrinta lentelės egzistavimą laikinojoje atmintyje. Jei lentelėje nėra, jei (DT == null) jis yra sukurtas kaip buvo daroma anksčiau, bet jei yra duomenų bazės ryšį ir duomenų gavybos dalis yra visiškai aplenkti. Bet kokiu atveju, prieš grįžtant prie stalo jis yra patalpinami laikinojoje atmintyje (Cache ["TabellaInCache"] = DT;). Šie nedideli pokyčiai gali žymiai sumažinti pakrovimo puslapį (jei jau esate sukūrę aiškų laiku) kaina.
Akivaizdu, kad ši pamoka yra, kad jums jausmas spartinimo duomenų potencialą ir ieškoti įvairių būdų, kaip talpyklą valdymas, jo metodus ir pamatyti, kurie iš jų gali būti naudinga kartkartėmis aš kviečiame Jus susipažinti su oficialaus "Microsoft" .
| |
ASP (Advanced)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 39 €. |
| |
ASP.NET (kurso)
Visas kursas statybos interneto programų nuo 49 €. |
| |
SQL ir duomenų bazės (kurso)
Kurkite ir tvarkykite reliacinėse duomenų bazėse. Nuo 39 €. |