Jak implementovat závislostí pro ukládání dat do mezipaměti ASP.NET pomocí jazyka .NET založené na klíčích

Překlady článku Překlady článku
ID článku: 312358 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Použít Tento podrobný návod k implementaci založené klíč závislostí pro ukládání dat do mezipaměti v aplikaci ASP.NET

Tento příklad vytvoří a vloží do mezipaměti objekt DataSet s závislost nastavit na jinou položku položka mezipaměti odkazující jeho klíč. Další informace a příklady data do mezipaměti se závislostmi založených na času nebo založené na souboru naleznete v části REFERENCES v tomto článku.

Back to the top

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace Service Pack:
  • Systém Microsoft Windows 2000 nebo Microsoft Windows XP.
  • Internetová informační služba (IIS).
  • Rozhraní Microsoft .NET framework.
  • Microsoft SQL Server.
Back to the top

Vytvořit webovou aplikaci ASP.NET pomocí Visual Basic .NET

Následující postup vytvoří nové ASP.NET webové aplikace s názvem DataCacher
  1. Spusťte aplikaci 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 ProjectProjekty jazyka. V části šablony klepněte na položku Webovou aplikaci ASP.NET.
  4. V poli umístění nahradit WebApplication # název nového projektu: DataCacher. Pokud používáte místní server, ponechte název serveru jako http://localhost. Pole umístění vypadá podobně jako tento:
    http://localhost/DataCacher
Back to the top

Vytvoření webového formuláře

Poznámka: Další informace naleznete v části "Spustit kódu" dále v tomto článku.
  1. Přidat nové WebForm názvem DataCacheSample.aspx projektu v aplikaci Visual Studio .NET. Postupujte takto:
    1. Klepněte pravým tlačítkem na uzel projektu v aplikaci Solution Explorer, přejděte na příkaz Přidat a potom klepněte na tlačítko Přidat nový WebForm.
    2. Název WebForm DataCacheSample.aspx a potom klepněte na tlačítko Otevřít.
  2. V aplikaci Visual Studio .NET Development integrovaného prostředí (IDE), přepněte do návrhového zobrazení.
  3. Na stránku přidat tlačítko WebForm:
    1. WebForm tlačítko přetáhnout na stránku.
    2. Vyberte tlačítko WebForm. Změňte vlastnost IDCreateNewOrCached a Vytvořit nový nebo mezipamětí změnit vlastnost text.
  4. Přidání druhé tlačítko WebForm:
    1. Jiné WebForm tlačítko přetáhnout na stránku a umístit po tlačítko CreateNewOrCached.
    2. Vyberte tlačítko WebForm změnit vlastnost IDRemoveEntry a potom změňte vlastnost TextRemoveEntry.
  5. Přidat popisek WebForm:
    1. Přetáhněte popisek WebForm stránku z panelu.
    2. Vyberte popisek WebForm a změnit vlastnosti IDCacheStatus a zrušte vlastnost text.
  6. Přidat DataGrid:
    1. Přetažením na stránku ovládací prvek DataGrid WebForm. Zachovat výchozí vlastnost ID DataGrid1.
Back to the top

Přidejte kód

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 Pohledu zobrazit kód.
  2. Přidat následující obory názvů obor názvů výpis:
    Imports System.Data.SqlClient
    Imports System.Web.Caching
    						
    Poznámka vynechán oboru názvů nebo pokud máte redundantní výpis obory názvů, obdržíte varovnou zprávu.
  3. Přepnout do návrhového zobrazení.
  4. Poklepejte na tlačítko Zobrazit kód události CreateNewOrCached_ClickCreateNewOrCached. Následující kód přidejte do události CreateNewOrCached_Click.

    Poznámka: Tento kód vyžaduje instalaci SQL Server Pubs databáze.
         Private Sub CreateNewOrCached_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateNewOrCached.Click
            ' Create a DataSet object from the cache entry with the
            ' CacheDataSetEmployees key.
            Dim CacheDataSetEmployees As Object = CType(Cache.Get("CacheDataSetEmployees"), DataSet)
    
            ' Verify if the object is null.
            If (CacheDataSetEmployees Is Nothing) Then
    
                ' Set a value for the cache entry that serves as the 
                ' key for the dependency.
                Cache("SqlPubsEmployees") = "SomeValue"
    
                ' Create the array of cache key item names.
                Dim keys() As String = {"SqlPubsEmployees"}
    
    
                Dim ds As DataSet = New DataSet()
                ' Create the connection and pass in the ConnectionString.
                Dim MySqlConn As SqlConnection = New SqlConnection("Server=localhost;Database=Pubs;uid=sa;pwd=")
                ' Create the Data Adapter and pass the command text and 
                ' connection to use.
                Dim MySda As SqlDataAdapter = 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 cache 
                ' keys (keys).
                Dim MyDependency As New CacheDependency(Nothing, 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
            End If
    
            ' Bind the DataGrid to the DataSource.
            DataGrid1.DataBind()
    
        End Sub
    						
    Poznámka upravit ConnectionString v uvedený kód správně pracovat se serverem SQL.
  5. Přepněte zpět do návrhového zobrazení v DataCacheSample.aspx stránce.
  6. Poklepejte na tlačítko RemoveEntry zobrazit kód události RemoveEntry_Click.
  7. Přidejte následující kód události RemoveEntry_Click:
    Private Sub RemoveEntry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveEntry.Click
            ' 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"
    End Sub
    					
  8. V nabídce soubor klepněte na příkaz Uložit vše uložit WebForm a jiných souborů přidružené projektu.
  9. Vytváření projektu: v nabídce Sestavit Visual Studio .NET IDE klepněte na tlačítko Sestavit řešení.
Back to the top

Spustit kód

  1. Stránka DataCacheSample.aspx v aplikaci Solution Explorer klepněte 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. Vytvořena nová verze zobrazí CacheStatus popisek a ovládací prvek DataGrid naplněna.

    Poznámky:
    • Nastavení Vytvořena nová verzeCacheStatus popisku se zobrazí, protože klíč mezipaměti CacheDataSetEmployees neobsahuje odkaz platný mezipaměti položky 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.
    • Je vytvořen nový objekt CacheDependency s názvem MyDependency. Objekt MyDependency je uveden jako závislost položky CacheDataSetEmployees při přidány do mezipaměti pomocí metody Vložit. Ačkoli tento příklad znázorňuje závislostí založené na klíč, můžete použít také ostatní typy založené na závislost mezipaměti kritérií, jako například soubor nebo časové razítko.
  3. Klepněte znovu na tlačítko CreateNewOrCached.

    Všimněte si, že popisek CacheStatus zobrazují Mezipamětí použité verze. To znamená, že je používán v mezipaměti DataSet. Ověřte, zda se jedná o data v mezipaměti, upravit jednu zobrazené záznamy v databázi pubs pomocí nástroje SQL Query Analyzer nebo jiný nástroj. Po úpravě záznamu klepněte na tlačítko CreateNewOrCached znovu. Všimněte si, že provedené změny nejsou zobrazeny. Klepněte na tlačítko RemoveEntry a klepněte na tlačítko CreateNewOrCached znovu zobrazíte změny provedené v databázi.
  4. Klepněte na tlačítko RemoveEntry.

    Všimněte si, že popisek CacheStatus zobrazují Odebrána položka mezipaměti. Pomocí metody Cache.Remove v RemoveEntry_Click události je odebrána položka mezipaměti s klíčem SqlPubsEmployees. Matice obsahující název klíče mezipaměti odebrané položky je uveden s MyDependency při jeho vytvoření. CacheDataSetEmployees položky budou odebrány, protože byl vytvořen pomocí metody Vložit a odkazy MyDependency jako parametr jeho závislost.
  5. Klepněte znovu na tlačítko CreateNewOrCached.

    Všimněte si, že popisek CacheStatus zobrazují Vytvořena nová verze. DataSet je vytvořen based na faktem, již existuje v mezipaměti při události.

    Všimněte si také, zda ovládací prvek DataGrid je zobrazena jako naplněn dat i po zboží DataSet odebrány z mezipaměti. Důvodem je, že je vlastnost EnableViewState ve výchozím nastavení nastavena na hodnotu TRUE. To udržuje stav ovládacího prvku a nesouvisí s manipulace položka mezipaměti v kódu. Více vizuální znázornění stavu ovládacího prvku v každé fázi nastavte EnableViewState na hodnotu FALSE.
V situaci reálného světa může matice mezipaměti klíče (v tomto příkladu pole klíče) stisknuté klávesy mezipaměti pro další tabulky nebo jiné položky mezipaměti. Pokud jeden z těchto položek změny potom položka mezipaměti (v tomto příkladu CacheDataSetEmployees) pro položku vytvořeny tuto závislost odebrány z mezipaměti. Prostřednictvím zpětné volání lze reagují, pokud máte. Další informace o zpětná volání naleznete v části "Odkazy" dále v tomto článku.

Back to the top

Poradce při potížích

  • Názvy klíčů uvedené matice mezipaměti klíče musí být přidruženy k mezipaměti skutečné položky. Pokud nejsou, zboží, pro které závislost používá nebudou zachovány v mezipaměti správně--například, pokud pole klíče v ukázkovém kódu obsahuje jiný prvek pole a prvek je nastavena na název klíče neplatná mezipaměti.
  • 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 řízení běhu určuje kdy odebrat položky z mezipaměti.
Back to the top

Odkazy

Informace o CacheItemRemovedCallback naleznete na následujícím webu:
Delegát CacheItemRemovedCallback
http://msdn2.microsoft.com/en-us/library/system.web.caching.cacheitemremovedcallback(vs.71).aspx
Poznámka:CacheItemRemovedCallback definuje metodu zpětného volání pro oznamování aplikací při položka mezipaměti je odebrána z mezipaměti.

Informace o třídě CacheDependency naleznete na následujícím webu:
Třída CacheDependency
http://msdn2.microsoft.com/en-us/library/system.web.caching.cachedependency(vs.71).aspx
Třída CacheDependency sleduje závislosti mezipaměti, například souborů, složek nebo klíčů jiných objektů v mezipaměti aplikace.

Stručný přehled různých mezipaměti možnosti k dispozici pro ASP.NET naleznete na následujícím webu:
Přidání položek do mezipaměti
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingitemstocache.asp
Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
305140INFORMACE: Přehled ASP.NET
307225Přehled ukládání do mezipaměti ASP.NET
Back to the top

Vlastnosti

ID článku: 312358 - Poslední aktualizace: 28. února 2014 - Revize: 4.5
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbcaching kbdatabase kbhowtomaster KB312358 KbMtcs
Strojově přeložený článek
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:312358

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com