Gewusst wie in ASP.NET Cache mithilfe von Visual Basic .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 811431 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Schritt für Schritt beschrieben Möglichkeiten zum Steuern, wie ASP.NET Webseiten und Datenobjekte zwischenspeichert. Durch Zwischenspeichern, vermeiden Sie Neuerstellen von Informationen bei spätere Anfragen. Zwischenspeicherung ist eine wichtige Technik zum Erstellen von leistungsstarken und skalierbarer Serveranwendungen. In der ersten Anforderung für die Seite können Sie Datenobjekte, Seiten oder Teile der Seite im Arbeitsspeicher speichern. Sie können diese Elemente auf dem Server, auf dem Proxyserver oder Browser speichern.

Weitere Informationen

ASP.NET stellt einfache Methoden zum Steuern der Zwischenspeicherung bereit. Die @ OutputCache -Direktive können Sie die um Seitenausgabe-caching in ASP.NET zu steuern. Verwenden Sie HttpCachePolicy -Klasse, um beliebige Objekte, wie Datasets, das auf den Serverspeicher zu speichern. Sie können den Cache in Anwendungen wie der Browser des Clients, die Proxy-Server und Internetinformationsdienste (IIS) speichern. Cache-Control HTTP-Header verwenden, können Sie die Zwischenspeicherung steuern.

Weitere Informationen über ASP.NET-Ausgabezwischenspeicherung finden Sie die folgende KB-Artikelnummer:
308516Gewusst wie: Steuern Seitenausgabe-Caching in ASP.NET mit Visual Basic .NET

Cache ASP.NET-Seiten

Sie können mithilfe der @ OutputCache -Direktive oder programmgesteuert mithilfe von Code Zwischenspeichern, mithilfe von Visual Basic .NET oder Visual c# .NET. Die @ OutputCache -Direktive enthält ein Standortattribut . Dieses Attribut bestimmt den Speicherort für das zwischengespeicherte Element. Sie können eine der folgenden Speicherorte angeben:
  • alle - dieser speichert den Ausgabecache im Browser des Clients, auf dem Proxy-Server (oder einen anderen Server), die Teil in der Anforderung oder auf dem Server, auf dem die Anforderung verarbeitet wird. Standardmäßig ist jeder aktiviert.
  • Client - das Ausgabecache auf dem Clientbrowser speichert.
  • Downstream - diese speichert den Ausgabecache in alle cachefähigen Geräte (außer dem Ausgangsserver), die in der Anforderung beteiligt sein.
  • Server - diese speichert den Ausgabecache auf dem Webserver.
  • keine - diese deaktiviert den Ausgabecache.

Im folgenden werden Codebeispiele für die @ OutputCache -Direktive und die entsprechende programmgesteuerte Code.
  • zum Speichern des Ausgabecache für eine angegebene Dauer

    Deklarative Ansatz:
    <%@ OutputCache Duration="60" VaryByParam="None" %>

    Programmgesteuerte Ansatz:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
  • zum Speichern des Ausgabecaches auf dem Browserclient, von dem die Anforderung stammt

    Deklarative Ansatz:
    <%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>

    Programmgesteuerte Ansatz:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Private)
    
  • zum Speichern des Ausgabecaches auf alle cachefähigen HTTP 1.1-Geräten einschließlich der Proxy-Server und der Client, der Anfrage

    Deklarative Ansatz:
    <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>

    Programmgesteuerte Ansatz:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetNoServerCaching()
  • den Ausgabecache auf dem Server speichern

    Deklarative Ansatz:
    <%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>

    Programmgesteuerte Ansatz:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Server)
    
  • zum Zwischenspeichern der Ausgabe für jede HTTP-Anforderung, die mit einen anderen Ort ankommen

    Deklarative Ansatz:
    <%@ OutputCache duration="60" varybyparam="City" %>
    

    Programmgesteuerte Ansatz:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.VaryByParams("City") = true
    
    Für VaryByCustom -Attribut, das VaryByHeader- Attribut und das VaryByParam -Attribut in der @ OutputCache -Direktive bietet die HttpCachePolicy -Klasse VaryByHeaders -Eigenschaft und der VaryByParams -Eigenschaft und die SetVaryByCustom -Methode.

Client und Proxy Caching deaktivieren

Um den Ausgabecache für eine ASP.NET-Webseite an die Client-Position und Lagerort Proxy deaktivieren, stellen Sie den Speicherort Attributwert auf none ein und legen Sie den VaryByParam -Wert auf keine in der @ OutputCache -Direktive. Verwenden Sie die folgenden Codebeispiele, um zu Client und Proxy caching deaktivieren.
  • Deklarative Ansatz:
    <%@ OutputCache Location="None" VaryByParam="None" %>
  • Programmgesteuerte Ansatz:
    Response.Cache.SetCacheability(HttpCacheability.NoCache)

Beliebigem Objekte im Serverspeicher zwischengespeichert

ASP.NET bietet einen leistungsstarken und einfach zu verwendende caching-Mechanismus, mit denen Sie Objekte speichern, die umfangreiche Serverressourcen im Speicher erstellen können. Die Cache --Klasse implementiert diese Methode. Instanzen sind für jede Anwendung privat, und die Lebensdauer der entsprechenden Anwendung gebunden ist. Gehen Sie folgendermaßen vor, beliebige Objekte in ASP.NET zwischenzuspeichern mithilfe der Cache -Klasse,
  1. Erstellen Sie eine neue ASP.NET-Webanwendung mit Visual Basic .NET.
  2. Standardmäßig wird "WebForm1.aspx" erstellt.
  3. Ersetzen Sie in der die HTML-Ansicht von WebForm1.aspx den vorhandenen Code mit dem folgenden Beispielcode:
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%@ Import Namespace="System.Data" %>
    <HTML>
    	<script language="vb" runat="server">
    
    		Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
    			Dim Source As DataView
    
    		'Retrieve the DataView object from the Cache class. If it does not exist, add the DataView object to the Cache class.
    
    		Source = CType(Cache("MyDataSet"), DataView)
    
    		If Source Is Nothing Then
    
    			Dim myConnection As SqlConnection = New SqlConnection("Server=ServerName; database=Pubs; user id=UID; password=PWD;")
    			Dim myCommand As SqlDataAdapter = New SqlDataAdapter("select * from Authors", myConnection)
    			Dim ds As DataSet = New DataSet()
    			myCommand.Fill(ds, "Authors")
    
    			Source = New DataView(ds.Tables("Authors"))
    			Cache("MyDataSet") = Source
    			CacheMsg.Text = "Dataset created explicitly"
    			
    		Else
    			
    			CacheMsg.Text = "Dataset retrieved from cache"
    
    		End If
    
    		' Bind the DataView object to DataGrid. 
    		MyDataGrid.DataSource = Source
    		MyDataGrid.DataBind()
    
    		End Sub
    
    	</script>
    	<body>
    		<form method="GET" runat="server" ID="Form1">
    	      <h3><font face="Verdana">Caching Data</font></h3>
    			<ASP:DataGrid id="MyDataGrid" runat="server"
    			Width="700"
    			BackColor="#ccccff"
    			BorderColor="black"
    			ShowFooter="false"
    			CellPadding=3
    			CellSpacing="0"
    			Font-Name="Verdana"
    			Font-Size="8pt"
    			HeaderStyle-BackColor="#aaaad" />
    			<p>
    			<i><asp:label id="CacheMsg" runat="server"/></i>
    	    </form>
    		</P>
    	</body>
    </HTML>
    Hinweis: die Werte für ServerName "," UID "und" PWD in den Beispielcode für das Objekt SqlConnection mit SQL Server-Name, BENUTZERKENNUNG und Kennwort ersetzen.
  4. Klicken Sie im Debug auf Starten , um die Anwendung auszuführen.

    Hinweis: Wenn Sie die Anwendung neu starten, wird das zwischengespeicherte Objekt neu erstellt.

Informationsquellen

Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
234067Gewusst wie: Verhindern der Zwischenspeicherung in Internet Explorer
247404Gewusst wie: Cache-Control HTTP-Header ändern, bei IIS
311006Gewusst wie: Verhindern der Web-Zwischenspeicherung in Windows 2000
247389IIS: How to Disable Zwischenspeicherung von spezifischen MIME-Typen
313561Gewusst wie: Festlegen von HTTP-Header für Ablaufdaten für Inhalte in IIS


Weitere Informationen der folgenden Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx


Eigenschaften

Artikel-ID: 811431 - Geändert am: Donnerstag, 31. Mai 2007 - Version: 3.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Keywords: 
kbmt kbhowtomaster kbdatabinding kbcaching kbwebforms kbinfo KB811431 KbMtde
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: 811431
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