ASP.NET'te, Visual Basic .NET kullanarak önbellek nasıl kullanılır

Makale çevirileri Makale çevirileri
Makale numarası: 811431 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, ASP.NET, Web sayfaları ve veri nesnelerinin nasıl önbelleğe denetlemek için kullanılan yolları açıklanır. Önbelleğe alarak sonraki istekleri yaptığınızda, bilgileri yeniden kaçının. Önbelleğe alma, yüksek performans ve ölçeklendirilebilir sunucu uygulamaları oluşturmak için önemli bir tekniktir. Sayfa için ilk istek veri nesneleri, sayfa veya sayfa belleğinde bölümlerini depolayabilir. Bu öğeleri, Web sunucusu, proxy sunucusu veya tarayıcı depolayabilir.

Daha fazla bilgi

ASP.NET önbellekleme denetlemek için kullanışlı bir yöntem sağlar. Sayfa çıktısının ASP.NET'te önbellekleme denetlemek için @ OutputCache yönergesini kullanabilirsiniz. HttpCachePolicy sınıfı, veri, sunucunun bellek gibi rastgele nesneleri depolamak için kullanın. Önbellek, istemci tarayıcısına, proxy sunucusu ve Microsoft ınternet ınformation Services (IIS) gibi uygulamalarda depolayabilir. Cache-Control HTTP üstbilgisi'ni kullanarak önbellekleme denetleyebilirsiniz.

ASP.NET çıkış önbelleği hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
308516Visual Basic .NET kullanarak, ASP.NET'te denetim sayfası Çıkış önbellekleme nasıl

Önbelleğin ASP.NET sayfa

Visual Basic .NET veya Visual C#. NET'i kullanarak @ OutputCache yönergesi kullanarak veya programlı olarak koduyla önbelleğe alabilir. @ OutputCache yönergesi için bir Konum özniteliğini içerir. Bu öznitelik, önbelleğe alınan madde için konum belirler. Aşağıdaki konumlardan birini belirtebilirsiniz:
  • Tüm - bu çıkış önbelleği, istekteki veya istek burada işlenir sunucusunda katılan istemci tarayıcısında, proxy sunucusunun (veya başka bir sunucu) depolar. Varsayılan olarak, tüm seçili.
  • Istemci - Bu istemcinin tarayıcısında çıkış önbelleğinde depolar.
  • Downstream - bu çıkış önbelleği istekte katılmak önbellek özelliği bulunan aygıtlar (dışındaki kaynak sunucu) depolar.
  • Sunucu - bu çıkış önbelleği Web sunucusunda depolar.
  • Hiçbiri - bu çıkış önbelleği kapatır.

Eşdeğer programlama kodu ve @ OutputCache yönergesi için kod örnekleri aşağıda verilmiştir.
  • Belirtilen bir süre için çıkış önbelleği depolamak için

    Bildirime dayanan yaklaşımı:
    <%@ OutputCache Duration="60" VaryByParam="None" %>

    Programsal yaklaşımı:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
  • Çıkış Önbelleği istemcideki tarayıcı isteği başlatıldığı depolamak için

    Bildirime dayanan yaklaşımı:
    <%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>

    Programsal yaklaşımı:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Private)
    
  • Çıkış Önbelleği proxy sunucuları ve istemci isteği yapılan HTTP 1.1 önbellek özelliği bulunan aygıtlar üzerinde depolamak için

    Bildirime dayanan yaklaşımı:
    <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>

    Programsal yaklaşımı:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetNoServerCaching()
  • Çıkış Önbelleği Web sunucusunda depolamak için

    Bildirime dayanan yaklaşımı:
    <%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>

    Programsal yaklaşımı:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Server)
    
  • Çıktı için farklı bir şehir ile ulaşan her HTTP isteğinde önbellek için

    Bildirime dayanan yaklaşımı:
    <%@ OutputCache duration="60" varybyparam="City" %>
    

    Programsal yaklaşımı:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.VaryByParams("City") = true
    
    VaryByCustom özniteliği, VaryByHeader özniteliği ve @ OutputCache yönergesi'VaryByParam ' özniteliği HttpCachePolicy sınıfı, VaryByHeaders özelliği VaryByParams özelliği ve SetVaryByCustom yöntemi sağlar.

Istemci ve proxy önbelleğe alma

Istemci konumu ve proxy konumdaki bir ASP.NET Web sayfası için çıkış önbelleği kapatmak için <a0></a0>, Konum özniteliği değeri yok olarak ayarlandı ve sonra da hiçbiri@ OutputCache yönergesi de VaryByParam değerini ayarlayın. Aşağıdaki kod örnekleri, istemci ve proxy önbelleğe alma devre dışı bırakmak için kullanın.
  • Bildirime dayanan yaklaşımı:
    <%@ OutputCache Location="None" VaryByParam="None" %>
  • Response.Cache.SetCacheability(HttpCacheability.NoCache)
    programsal yaklaşımı:

Sunucu bellek rasgele nesneler önbellek

ASP.NET, bellekte oluşturmak için sunucu kaynaklarının fazla gerektiren nesneleri depolamak için kullanabileceğiniz bir güçlü ve kullanımı kolay önbellek mekanizması içerir. Önbellek sınıf, bu yöntemi kullanır. Her uygulama için özel olan ve yaşam süresi karşılık gelen uygulamasına bağlıdır. ASP.NET'in rasgele nesnelerin önbelleği sınıfı kullanılarak önbelleğe almak için aşağıdaki adımları izleyin:
  1. Visual Basic .NET kullanarak yeni bir ASP.NET Web uygulaması oluşturun.
  2. Varsayılan olarak, WebForm1.aspx oluşturulur.
  3. WebForm1.aspx HTML görünümünde varolan kodu aşağıdaki örnek kodla değiştirin:
    <%@ 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>
    Not Değiştir değerleri ServerName, UID ve PWDSqlConnection nesnesi için örnek kod, SQL Server adı, kullanıcı KIMLIĞI ve parola.
  4. Hata Ayıkla) menüsünde, uygulamayı çalıştırmak için Başlat ' ı tıklatın.

    NotÖnbelleklenen nesne, uygulama yeniden başlattığınızda yeniden oluşturulur.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
234067Internet Explorer'da önbelleğe alma nasıl engellenir
247404Nasıl yapılır: IIS kullandığınızda, Cache-Control HTTP Başlık Değiştir
311006Nasıl yapılır: Windows 2000'de Web önbellekleme engelle
247389IIS: Nasıl özel MIME türleri önbellekleme devre dışı bırak
313561Nasıl yapılır: HTTP üstbilgileri, içerik sona Erdirmesini ııs'de için Ayarla


Daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx


Özellikler

Makale numarası: 811431 - Last Review: 31 Mayıs 2007 Perşembe - Gözden geçirme: 3.6
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowtomaster kbdatabinding kbcaching kbwebforms kbinfo KB811431 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:811431

Geri Bildirim Ver

 

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