Wie Implementieren von schlüsselbasierten Abhängigkeiten für die Zwischen-Speicherung in ASP.NET von Daten, indem Visual Basic .NET verwendet

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 312358 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Verwenden Sie diese schrittweise Anleitung, um schlüsselbasierte Abhängigkeiten für die Zwischen-Speicherung von Daten in einer Asp.net-anwendung zu implementieren.

In diesem Beispiel wird mit einer Abhängigkeit zu dem Festlegen, indem eine Abhängigkeit auf seinen Schlüssel verweist, auf einem anderen Cache-Eingabeelement erstellt und in einem Cache ein DataSet -Objekt eingefügt. Für weitere Information und beispielhaft für die Zwischen-Speicherung von Daten mit zeitbasierten oder dateibasierten Beziehungen sehen Sie der VERWEISE Artikel in Abschnitt.

Back to the top

Voraussetzunge

Die folgende Liste führt die empfohlene Hardware, die Software, die Netzwerkinfrastruktur und die erforderlichen Service Packs auf:
  • Microsoft Windows 2000 oder Microsoft Windows XP
  • Microsoft Internet Information Services (II).
  • Microsoft .NET Framework.
  • Microsoft SQL Server.
Back to the top

Verwenden Sie zu dem Erstellen einer ASP.NET-Webanwendung Visual Basic .NET

Das folgende Verfahren erstellt eine neue Anwendung von Asp.net-webanwendung mit Name DataCacher
  1. Starten Sie Microsoft Visual Studio .NET.
  2. Klicken Sie in dem Menü Datei auf Neu, und klicken Sie dann auf Projekt.
  3. Klicken Sie in dem Dialogfeld Neues Projekt unter Projekttypen auf Visual Basic-Projekte. Klicken Sie unter Vorlage auf Asp.net-webanwendung.
  4. Ersetzen der neue Projektname in dem Feld SpeicherortWebApplication#: DataCacher . Lassen Sie den Server-Namen wie http://localhost, wenn Sie den lokalen Server verwenden. Das Feld Speicherort ähnelt dem:
    http://localhost/DataCacher
Back to the top

Erstellen Sie das Webformular

Hinweis: Sie finden Weitere Informationen in diesem Artikel in dem Abschnitt "Run the Code".
  1. Fügen Sie ein neues Web Form hinzu, das als DataCacheSample.aspx zu Ihrem Projekt in Visual Studio .NET bezeichnet wird. Gehen Sie hierzu folgendermaßen vor
    1. Klicken Sie mit der rechten Maustaste auf den Projektknoten in Projekt-Mappe-Explorer, zeigen Sie auf Add, und klicken Sie dann auf Add New WebForm.
    2. Benennen Sie das Web Form DataCacheSample.aspx, Und dann klicken Sie auf Öffnen.
  2. Wechseln Sie in der integrierten Entwicklungsumgebung (IDE) von Visual Studio .NET zu Entwurfsansicht.
  3. Fügen Sie der Seite eine Web Form-Schaltfläche hinzu:
    1. Ziehen Sie eine Web Form-Schaltfläche auf dem Blatt.
    2. Wählen Sie die Web Form-Schaltfläche aus. Ändern Sie in dem CreateNewOrCached die die ID Eigenschaft, und ändern Sie in dem Create New Or Cached die Eigenschaft Texts.
  4. Fügen Sie eine zweite Web Form-Schaltfläche hinzu:
    1. Ziehen Sie eine andere Web Form-Schaltfläche auf dem Blatt, und platzieren Sie es nach der Schaltfläche CreateNewOrCached.
    2. Wählen Sie die Web Form-Schaltfläche aus, ändern Sie in dem RemoveEntry die die ID Eigenschaft, und ändern Sie in dem RemoveEntry Texts dann die Eigenschaft.
  5. Fügen Sie ein WebForm Label hinzu:
    1. Ziehen Sie aus Toolbox eine Beschriftung von Web Form auf das Blatt.
    2. Wählen Sie das Web Form-Etikett aus, ändern Sie in dem CacheStatus die die ID Eigenschaft, und deaktivieren Sie dann den Text -Eigenschaft.
  6. Fügen Sie ein DataGrid hinzu:
    1. Ziehen Sie ein DataGrid Steuer-Web Form-Element auf der Seite. Behalten Sie die Standard-die ID-Eigenschaft von DataGrid1 bei.
Back to the top

Fügen Sie den Code hinzu

Fügen Sie Code hinzu, um Cache-Elemente einzufügen, um Cache-Elemente zu entfernen, und die Cache-Abhängigkeit zu erstellen:
  1. Klicken Sie mit der rechten Maustaste auf die ASPX-Seite, und klicken Sie dann auf Code anzeigen, um den Code anzuzeigen.
  2. Fügen Sie der Namespace-Auflistung den folgende Namespaces hinzu:
    Imports System.Data.SqlClient
    Imports System.Web.Caching
    						
    Hinweis: Sie eine Warnmeldung anzeigen, wenn beides Namespace nicht angegeben wird oder wenn Sie über eine redundante Liste der Namespaces verfügen.
  3. Wechseln Sie zur Entwurfsansicht
  4. Doppelklicken Sie auf die Schaltfläche CreateNewOrCached, um den Code für das Ereignis CreateNewOrCached Click anzuzeigen. Fügen Sie dem CreateNewOrCached Click Ereignis den folgenden Code hinzu.

    Hinweis: Sie müssen für diesen Code die SQL Server Pubs Datenbank installieren.
         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
    						
    Hinweis: ändern Sie das ConnectionString in dem aforementioned Code dem ConnectionString in dem aforementioned Code damit ordnungsgemäß mit Ihrem SQL Server funktionieren.
  5. Wechseln Sie zurück zu Entwurfsansicht auf die DataCacheSample.aspx-Seite.
  6. Doppelklicken Sie auf die Schaltfläche RemoveEntry, um den RemoveEntry Click Ereigniscode anzuzeigen.
  7. Fügen Sie dem RemoveEntry Click Ereignis den folgenden Code hinzu:
    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. Klicken Sie in dem Menü Datei auf Alle speichern, um das Web Form und andere damit verbundene Projektdateien zu speichern.
  9. Sie erstellen das Projekt: in dem Menü Erstellen in dem Visual Studio .NET-IDE Sie auf Projektmappe erstellen klicken.
Back to the top

Führen Sie den Code au

  1. Klicken Sie mit der rechten Maustaste auf die Seite DataCacheSample.aspx in Projekt-Mappe-Explorer, und klicken Sie dann auf In Browser anzeigen.
  2. Klicken Sie auf die Schaltfläche CreateNewOrCached. Die Beschriftung von CacheStatus zeigt New Version Created an, und das DataGrid Steuerelement wird aufgefüllt.

    Notizen:
    • Die Einstellung von New Version Created für die Beschriftung von CacheStatus erscheint, weil der CacheDataSetEmployees Cache-Schlüssel nicht auf ein gültiges Cache-Element verweist, wenn Sie das Ereignis schreiben. In Fall wird das DataSet erstellt, ist das DataGrid Steuerelement an das DataSet gebunden, und dem Cache wird unter der Verwendung des CacheDataSetEmployees Cache-Schlüssels das DataSet eingegeben.
    • Ein neues CacheDependency Objekt wird erstellt, das MyDependency benannt wird. Wenn es zu dem Cache hinzugefügt wird, indem die Methode Einfügen verwendet, wird das MyDependency Objekt als die Abhängigkeit für den Artikel CacheDataSetEmployees aufgeführt. Obwohl dieses Beispiel schlüsselbasierte Abhängigkeiten demonstriert, können Sie dependency-based Cache-Kriterien wie Datei oder Timestamp anderer Typen auch verwenden.
  3. Klicken Sie erneut auf die Schaltfläche CreateNewOrCached.

    Beachten Sie, dass die Beschriftung von CacheStatusCached Version Used anzeigt. Das bedeutet, dass das zwischengespeicherte DataSet verwandt wird. Ändern Sie einen der angezeigten Datensätze in der Datenbank Pub, um zu überprüfen, dass das zwischengespeicherte Daten sind, indem Sie SQL Query Analyzer oder ein anderes Tool verwenden. Klicken Sie auf die Schaltfläche CreateNewOrCached erneut, nachdem Sie den Datensatz ändern. Beachten Sie, dass die Änderungen, die vorgenommen wurden, nicht angezeigt werden. Klicken Sie auf RemoveEntry, und erneuen Klicken Ihrer anschließendes auf CreateNewOrCached Sie, um die Änderungen anzeigen können, die Sie an die Datenbank vornahmen.
  4. Klicken Sie auf die Schaltfläche RemoveEntry.

    Beachten Sie, dass die Beschriftung von CacheStatusCache Item Removed anzeigt. Das Cache-Element mit dem Schlüssel SqlPubsEmployees wird entfernt, indem die Cache.Remove Methode in dem Ereignis RemoveEntry Click verwendet. Das Array, das den Cache-Schlüsselname des entfernten Artikels enthält, ist mit MyDependency aufgeführt, wenn es erstellt wird. Da es als seinen Abhängigkeitsparameter mithilfe der Verweise MyDependency und der Methode Einfügen erstellt wurde, wird das CacheDataSetEmployees Element entfernt.
  5. Klicken Sie erneut auf CreateNewOrCached.

    Beachten Sie, dass die Beschriftung von CacheStatusNew Version Created anzeigt. Das DataSets wird von Ihnen erstellt, nicht mehr sich auf der Grundlage dass es in dem Cache befindet, wenn das Ereignis ausgelöst wird.

    Beachten Sie außerdem, dass das DataGrid Steuerelement angezeigt wird wie mit Daten gefüllt, nachdem das DataSet Element auch aus dem Cache entfernt wird. Da die EnableViewState Eigenschaft standardmäßig auf True setzt, ist das. Das behält den Status des Steuerelements bei, und es bezieht sich nicht auf die Cache-Eintragsbearbeitung in dem Code. Legen Sie für eine visuellere Darstellung des Status des Steuerelements in jeder Phase das EnableViewState auf False fest.
In einer realen Weltsituation kann Cache-Schlüssel für andere Tabellen oder andere Cache-Elemente das Cache-Schlüsselarray (in diesem Beispiel dem Schlüssel Array) enthalten. Falls eine der Artikeländerungen dann dem Cache-Eintrag (in diesem Beispiel CacheDataSetEmployees) für den Artikel erstellte, wird diese Anordnungsbeziehung aus dem Cache entfernt. Wenn Sie durch einen Rückruf reagieren müssen, können Sie durch einen Rückruf reagieren. Weitere Informationen zu Rückrufen finden Sie in dem Abschnitt "Informationsquelle" später in diesem Artikel.

Back to the top

Beheben Sie

  • Die Schlüsselname, die in dem Cache-Schlüsselarray aufgelistet werden, müssen tatsächlichen Cache-Elementen zugeordnet werden. Wenn das Schlüsselarray in dem Beispielcode ein anderes Matrixelement enthält und wenn das Element auf ungültigen Cache-Schlüsselname festgelegt wird, wird das Element, für das die Abhängigkeit verwandt wird, zum Beispiel in dem Cache nicht ordnungsgemäß geblieben, wenn sie nicht ordnungsgemäß in dem Cache geblieben werden zum Beispiel, wenn das Schlüsselarray in dem Beispielcode ein anderes Matrixelement enthält und wenn das Element auf ungültigen Cache-Schlüsselname festgelegt wird.
  • Das Cache-Schlüsselarray hat keine bestimmte Bedeutung, bis es bei einem Objekt CacheDependency verwandt wird.
  • Das Laufzeitsteuerelement bestimmt dann, wann das Element aus dem Cache entfernt wird, wenn Sie in Cache keinem mit Abhängigkeit oder anderem Ablauf ein Element einfügen.
Back to the top

Informationsquellen

Findet Informationen über CacheItemRemovedCallback auf dem folgenden Website von Microsoft:
CacheItemRemovedCallback-Delegat
http://msdn2.microsoft.com/en-us/library/system.web.caching.cacheitemremovedcallback(vs.71).aspx
Hinweis CacheItemRemovedCallback definiert eine Rückrufmethode für das Benachrichtigen von Anwendungen, wenn ein zwischengespeichertes Element aus dem Cache entfernt wird.

Findet Informationen über die Klasse CacheDependency auf dem folgenden Website von Microsoft:
CacheDependency-Klasse
http://msdn2.microsoft.com/en-us/library/system.web.caching.cachedependency(vs.71).aspx
Die CacheDependency-Klasse verfolgt Cache-Abhängigkeiten, wie Dateien, Ordnern oder Schlüsseln auf anderen Objekten in dem Cache der Anwendung.

Besuchen Sie für eine kurze Übersicht von den verfügbaren verschiedenen Zwischen-Speicherungsoption für ASP.NET das folgende Website von Microsoft:
Dem Cache Hinzufügen von Elementen
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingitemstocache.asp
Erhalten Sie Weitere Informationen, wenn unten auf Artikelnummer klickt, um die Beiträge in dem Microsoft Knowledge Base anzuzeigen:
305140 INFO: ASP.NET Roadmap
307225 ASP.NET-Cache-Übersicht
Back to the top

Eigenschaften

Artikel-ID: 312358 - Geändert am: Montag, 24. Februar 2014 - Version: 4.5
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbnosurvey kbarchive kbcaching kbdatabase kbhowtomaster KB312358 KbMtde kbmt
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 312358
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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