Teď jste offline a čekáte, až se znova připojí internet.

Postupy: Provést Key-Based závislosti pro data mezipaměti ASP.NET pomocí Visual C# .NET

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:308147
Microsoft VB .NET verzi tohoto článku naleznete 312358.

Tento článek se týká následujících oborů názvů knihovny tříd Microsoft .NET Framework:
  • System.Web.Caching
  • System.Web.SessionState
  • System.data.SqlClient

Obsah úlohy

Souhrn
Tento článek ukazuje, jak implementovat data do mezipaměti pomocí závislostí založené na klíčích v aplikaci Microsoft ASP.NET. Příklad, uvedeny v tomto článku vytvoří a vloží do mezipaměti objekt DataSet s závislost nastavit na jinou položku položka mezipaměti odkazující jeho klíč. Příklady data do mezipaměti s čas nebo závislosti založené na souboru naleznete v části "Odkazy" v tomto článku.

back to the top

Požadavky

  • Systém Microsoft Windows 2000 nebo Microsoft Windows XP
  • Microsoft Internet Information Server (IIS)
  • Rozhraní Microsoft .NET framework
  • Microsoft SQL Server
back to the top

Vytvoření aplikace ASP.NET Web

Microsoft Visual C# .NET použít k vytvoření webovém ASP.NET aplikace s názvem DataCacher:
  1. Otevřete Microsoft Visual Studio .NET.
  2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz projekt.
  3. V dialogovém okně Nový projekt klepněte v části Typy projektuVisual C# projekty a klepněte na Webovou aplikaci ASP.NET v části šablony.
  4. Do pole umístění zadejte jako název projektu DataCacher nahrazením výchozí WebApplication# název v cestu URL. Pokud používáte místní server, můžete ponechat jako http://localhost, které nastaví umístění http://localhost/DataCacher název serveru.
back to the top

Sestavit webový formulář

Poznámka: kód, který je obsažen v této části je vysvětlena v části "Running the kód" podrobněji.

Vytvoření mezipaměti ukázkových dat:
  1. Přidat nový webový formulář s názvem projektu v aplikaci Visual Studio .NET DataCacheSample.aspx:
    1. Klepněte pravým tlačítkem na uzel projektu v aplikaci Solution Explorer.
    2. Klepněte na tlačítko Přidat a potom klepněte na tlačítko Přidat nový WebForm.
    3. Název webového formuláře DataCacheSample.aspx.
    4. Klepněte na tlačítko Otevřít.
  2. Na kartě Návrh zobrazení pro webový formulář v integrovaného vývojového prostředí Visual Studio .NET (integrované vývojové prostředí) na stránku přidat tlačítko webové formuláře:
    1. Pomocí operace a přetažení přesunete tlačítko webového formuláře na stránku.
    2. Klepnutím vyberte nové tlačítko. Změňte vlastnost IDCreateNewOrCached a potom změňte vlastnost TextVytvořit nový nebo mezipamětí.
  3. Přidání druhé tlačítko webový formulář:
    1. Použití operace a přetažení přesunout jiný webový formulář tlačítko stránku ze sady nástrojů.
    2. Klepnutím vyberte nové tlačítko. Odebrat změnit vlastnost ID a potom změňte vlastnost TextOdebrat.
  4. Přidat popisek webový formulář:
    1. Pomocí operace a přetažení přesunout popisek webový formulář na stránku z panelu nástrojů.
    2. Klepnutím vyberte nový popisek. Změnit vlastnost IDCacheStatus a potom zrušte vlastnost text.
  5. Pomocí operace a přetažení přesunout ovládací prvek DataGrid webový formulář na stránku z panelu nástrojů. Tento ovládací prvek ponechte vlastnost ID nastavit výchozí nastavení DataGrid1 v podokně Vlastnosti.
back to the top

Přidání kódu

Přidejte kód vložení položky mezipaměti odebrat položky mezipaměti a vytvořit závislost mezipaměti:
  1. Klepněte pravým tlačítkem myši na stránku ASPX a potom klepněte na tlačítko Otevřít stránku pozadí kód Pohledu.
  2. Tato ukázka ujistěte, přidán System.data.SqlClientSystem.data a obory názvů System.Web.Caching do oboru názvů výpis kódem na pozadí stránky. Pokud používáte Visual Studio. NET vytvořit webový formulář oboru názvů výpis v kódu - za stránkou bude vypadat podobná následující:
    using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Web.Caching;						
    Poznámka: Pokud není uveden obor názvů nebo pokud redundantní výpis existuje obor názvů bude se upozornění.
  3. Na kartě Návrh zobrazení poklepejte na tlačítko CreateNewOrCached otevřít událost CreateNewOrCached_Click kódem na pozadí stránky.
  4. Přidejte následující kód události CreateNewOrCached_Click:
    private void CreateNewOrCached_Click(object sender, System.EventArgs e) {	//Attempt to create a DataSet object from the cache entry with the key "CacheDataSetEmployees" 	object CacheDataSetEmployees = (DataSet)Cache.Get("CacheDataSetEmployees");	        //Check to see if the object is null	if(CacheDataSetEmployees == null)	{	     //Set a value for the cache entry that will serve as the 	     //key for the dependency to be created on	     Cache["SqlPubsEmployees"] = "SomeValue";	     //Create the array of cache key item names	     string[] keys = new String[1];	     keys[0] = "SqlPubsEmployees";					     DataSet ds = new DataSet();	     //Create the connection and pass in the ConnectionString	    SqlConnection MySqlConn = new SqlConnection("Server=kronicas17;Trusted_Connection=Yes;initial catalog=pubs");	     //Create the Data Adapter and pass in the command text and connection to use	     SqlDataAdapter MySda = new SqlDataAdapter("SELECT TOP 10 * FROM Employee", MySqlConn);	     //Populate the DataTable "Employees" in the DataSet	     MySda.Fill(ds,"Employee");	     //Set the DataGrid's DataSource to the "Employee" DataTable	     DataGrid1.DataSource = ds.Tables["Employee"];					     //Create a dependency object referencing the array of cachekeys (keys)	     CacheDependency MyDependency = new CacheDependency(null, keys);	     //Insert the DataSet into Cache with a dependency on MyDependency	     Cache.Insert("CacheDataSetEmployees", ds, MyDependency);				MySqlConn.Close();					     //Display the status of the DataSet/Cache Entry	     CacheStatus.Text = "New Version Created";	}	else	{	     //Display the status of the DataSet/Cache Entry	     CacheStatus.Text = "Cached Version Used";	     //Set the DataSource to the cached version of the DataSet	     DataGrid1.DataSource = CacheDataSetEmployees;        }        //Bind the DataGrid to the DataSource	DataGrid1.DataBind();}						
    Poznámka: pravděpodobně nutné upravit ConnectionString kód v tomto kroku pracovat správně s SQL server. Kód pracovat správně musíte mít nainstalován databáze pubs SQL Server.
  5. Na kartě Návrh zobrazení pro stránku DataCacheSample.aspx poklepejte na tlačítko Odebrat otevřít událost Remove_Click kódem na pozadí stránky.
  6. Přidejte následující kód události Remove_Click:
    private void Remove_Click(object sender, System.EventArgs e)     {	//Remove the cache item listed in the cachekeys array (keys)	Cache.Remove("SqlPubsEmployees"); 	//Display the status of the cache item	CacheStatus.Text = "Cache Item Removed";     }					
  7. Soubor web.config mezi <system.web> a </system.web> přidejte následující prvek:
    <identity impersonate=”true” />
  8. V nabídce soubor klepněte na příkaz Uložit vše uložit webový formulář a jiných souborů přidružené projektu.
  9. V nabídce Sestavit Visual Studio .NET IDE klepněte na tlačítko Sestavit projekt Sestavit.
back to the top

Spuštěn kód

  1. Spustit kód DataCacheSample.aspx stránku v aplikaci Solution Explorer pravým tlačítkem myši a potom klepněte na tlačítko Zobrazit v prohlížeči.
  2. Klepněte na tlačítko CreateNewOrCached; měli zobrazit popisek CacheStatus "Vytvořena nová verze" a ovládací prvek DataGrid naplněna.

    Poznámky:
    • Nastavení Vytvořena nová verzeCacheStatus popisek je výsledek klíč mezipaměti CacheDataSetEmployees není dosud odkazuje položka mezipaměti platný při zadávání události. V tomto případě vytvořen DataSet, DataSet je vázán ovládací prvek DataGrid a DataSet je zadán do mezipaměti pomocí klíče mezipaměti "CacheDataSetEmployees".
    • V předchozím kroku, by měl mít také zaznamenali vytváření nový objekt CacheDependency s názvem MyDependency. Objekt MyDependency je uveden jako závislost položky CacheDataSetEmployees při přidání do mezipaměti pomocí metody Vložit. Je důležité si uvědomit, že zatímco Tento příklad znázorňuje závislostí založené na klíč, můžete použít jiné typy založené na závislost mezipaměti kritérií, jako například soubory nebo časové razítko, také.
  3. Klepněte znovu na tlačítko CreateNewOrCached. Zobrazuje popisek CacheStatus "Mezipaměti Version", která uvádí, že byl použit v mezipaměti DataSet. Toto je data v mezipaměti jeden zobrazené záznamy v databázi pubs změnou pomocí nástroje SQL Query Analyzer nebo jiného nástroje můžete ověřit. Po úpravě záznamu klepněte na tlačítko CreateNewOrCached znovu. Poznámka: provedené změny nejsou zobrazeny. Klepněte na tlačítko Odebrat a potom klepněte na tlačítko CreateNewOrCached znovu zobrazíte změny provedené v databázi.
  4. Klepněte na tlačítko Odebrat. Zobrazuje popisek CacheStatus "Odebrána položka mezipaměti". Položka mezipaměti s klíčem "SqlPubsEmployees" odebrán pomocí metody Cache.Remove v Remove_Click událostí. Protože matice (který obsahuje název klíče mezipaměti odebrané položky) s MyDependency uveden, když jste vytvořili, "CacheDataSetEmployees" položku odebrat, protože vytvořené pomocí metody Vložit a odkazující MyDependency jako parametr jeho závislost.
  5. Klepněte znovu na tlačítko CreateNewOrCached. Popisek CacheStatus zobrazí zprávu "Vytvořena nová verze", protože byl vytvořen DataSet based na faktem, jej již existoval v mezipaměti vyvolání události.
  6. Také si můžete všimnout, že ovládací prvek DataGrid zobrazena jako naplněn dat i po zboží DataSet odebrány z mezipaměti. Toto je výsledek vlastnost EnableViewState právě ve výchozím nastavení hodnotu True. To umožňuje stav řízení být udržovány a to nesouvisí manipulace položka mezipaměti v kódu. Pro více vizuální znázornění stavu ovládacího prvku v každé fázi můžete nastavit EnableViewStateFalse.
Poznámka: to zda tento příklad, ve skutečné situaci může matice mezipaměti klíče (klíče matice ukázkový kód) podržte klávesy mezipaměti pro další tabulky nebo jiných mezipaměti položky tak, že pokud jeden z těchto položek byly změnit, položka mezipaměti (CacheDataSetEmployees v tomto vzorku) pro položku, která byla vytvořena s tuto závislost by být odebrány z mezipaměti také. Jste by potom chovají podle potřeby pomocí zpětných volání; pro další informace o zpětná volání, naleznete v části "Odkazy" v tomto článku.

back to the top

Odstraňování potíží

  • Názvy klíčů, které jsou uvedeny v mezipaměti matice klíče musí být přidruženy k mezipaměti skutečné položky. Pokud nejsou, není zboží, pro které závislost používá správně zachováno v mezipaměti. Pokud pole klíče v ukázkovém kódu uchovávány jiného prvku matice a prvek byla nastavena na název klíče neplatná mezipaměti by tento příklad.
  • Matice mezipaměti klíče nemá žádný význam konkrétní, dokud se používá s objekt CacheDependency.
  • Pokud vložit položku do mezipaměti s žádná závislost nebo jiných platnosti modulu runtime řídí, kdy je položka odebrána z mezipaměti.
back to the top
Odkazy
Další informace o použití CacheItemRemovedCallback delegovat naleznete na následujícím webu: Poznámka: Tento delegát CacheItemRemovedCallback definuje metodu zpětného volání pro oznamování aplikací při položka mezipaměti je odebrána z mezipaměti.

Další informace o třídě CacheDependency naleznete na následujícím webu: Poznámka: Třída CacheDependency sleduje závislosti mezipaměti, které mohou být soubory, adresáře nebo klíče ostatní objekty v mezipaměti vaše aplikace.

Další informace o různých možností ukládání do mezipaměti, které jsou k dispozici pro ASP.NET naleznete v následující dokumentaci Microsoft .NET Framework SDK: Další informace o různých možností ukládání do mezipaměti, které jsou k dispozici pro ASP.NET klepněte na následující čísla následujících článcích databáze Microsoft Knowledge Base:
305140Přehled ASP.NET
307225INFORMACE: Přehled mezipaměť ASP.NET
back to the top

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 308147 - Poslední kontrola: 08/28/2007 06:26:02 - Revize: 2.8

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbmt kbcaching kbdatabase kbhowtomaster KB308147 KbMtcs
Váš názor
); ath.floor(Math.random() * 16).toString(16); })).replace("R", (8 | Math.floor(Math.random() * 3)).toString(16)); var m = document.createElement("meta"); m.content = guid; m.name = "ms.dqid"; document.getElementsByTagName("head")[0].appendChild(m);
0&did=1&t=">did=1&t=">p;t=">/body>ync=""> var varAutoFirePV = 1; var varClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" mp;t=">protocol) + "//c.microsoft.com/ms.js'><\/script>"); &t=">