NASıL YAPıLıR: ASP.NET sayfaları'nı alma performansı artırma.

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

Bu Sayfada

Özet

Bu makalede ASP.NET uygulamaları <a0>@ OutputCache</a0> sayfası emrinin tüm ASP.NET sayfaları önbelleğe alarak performansını gösterilmiştir. Olsa da, bu makalede bu uygulama gösteren bir ASP.NET sayfasını belirli bölümlerini önbelleğe almak için @ OutputCache sayfa yönergesini kullanabilirsiniz.

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Visual Studio. NET'i
  • Microsoft ınternet ınformation Server (IIS) 4.0 veya Microsoft ınternet ınformation Services (IIS) 5.0
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Web uygulamaları
  • Microsoft ASP.NET

Tekniğin Açıklaması

Bilgi önbelleğe bellekte bilgileri yerleştirin. Normal olarak, IIS bir sayfa için istek aldığında, IIS sayfa sabit diskten okur ve daha sonra sayfayı gönderir. Bazı durumlarda, IIS bellek performansını artırmak için otomatik olarak bilgi saklayabilir. Bu sayfayı bu belleği tutan hangi bilgileri belirlemek için ııS'YI kullanan ölçüte uymuyor bile, @ OutputCache yönergesi bir sayfayı bellekte tutmak sağlar.

Örneğin, sayfaları bir veritabanına erişmek, göz her yeniden sayfaya en güncel verileri almaya çalışır. @ OutputCache yönergesi kullandığınızda, belirtilen süre sona kadar sayfayı bellekte olan veritabanına bir sorgunun sonuçlarını Tutuluyor. Bu nedenle, @ OutputCache yönergesi, her biri için sayfayı taradığında veritabanı sorgulanıyor önlemek için kullanabilirsiniz. Sık değiştirmez, veriler için oldukça yararlıdır.

@ OutputCache kullanan bir ASP.NET Web uygulaması oluşturma

Bu bölümde, sayfanın belirli bir süre için önbelleğe almak için @ OutputCache sayfa yönergesini kullanan bir ASP.NET Web uygulaması oluşturun.
  1. Visual Basic. NET'te yeni bir ASP.NET Web uygulaması oluşturmak için şu adımları izleyin:
    1. Visual Studio. NET'i açın.
    2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
    3. Yeni proje) iletişim kutusunda, Project Types altında Visual Basic Projects ' ı tıklatın ve ASP.NET Web uygulamasışablonları altında tıklatın.
  2. <a0>WebForm1.aspx</a0> penceresinde HTML görünümüne geçin ve sonra şu yönergeyi @ Page yönergesinde hemen sonra ekleyin:
    <%@ OutputCache Duration="10" VaryByParam="none" %>
    						
    sayfa içeriğini 10 saniye önbelleğe alındığı için bu kod 10 saniyeye @ OutputCache yönergesi <a1>süre</a1> özniteliğini ayarlar. Buna ek olarak, kullanıcı tanımlayan değişkenine göre çıkış önbelleği değiştirmek için kullanabileceğiniz bir dizgi noktalı virgülle ayrılmış bir listesi VaryByParam ' özniteliği oluşur. Bu işlevsellik, bu makalenin kapsamı dışındadır olduğundan, önceki kod VaryByParamyok olarak ayarlar.
  3. Aşağıdaki kod eklemek için açılış ve kapanış <form>etiketleri arasına WebForm1.aspx HTML görünümünde, ekleme birForma Etiket denetimi:
    <asp:Label>
    Last cached: <%Response.Write(Now())%>
    </asp:Label>
    						
    sayfa yüklenen son kez görüntülemek için bu etiketi kullan. Bu etiket değeri, yalnızca bir kez her 10 saniyede, sayfa yenilendiğinde dikkate almadan kaç kez değiştirmeniz gerekir.
  4. Dosya menüsünde Kaydet ' i tıklatın.
  5. Yapı) menüsünde, Build Solution ' ı tıklatın.
  6. Sayfayı sağ tıklatın ve sonra da View In Browser ' ı tıklatın. Etiket, hangi geçerli saati görüntüler görüntülendiğine dikkat edin.
  7. Sayfayı birden çok kez yenileyin. Yalnızca 10 saniye süre dolduktan sonra etiketi değiştiğine dikkat edin.

Kod dökümü tamamlayın.

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
<%@ OutputCache Duration="10" VaryByParam="none" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>WebForm1</title>
        <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
        <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </head>
    <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        <asp:Label>
            Last Cached: <%Response.Write(Now())%>
        </asp:Label>
        </form>
    </body>
</html>
				
Not: gerekirse, proje ve Web formu adını başvurmak için aşağıdaki kod satırını'ınherits ' özniteliği değiştirmek gerekebilir:
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
				
kod şu anda proje WebApplication1 adlı WebForm1, Web formu adlı varsayar.

It Works That doğrulayın.

  1. Birden çok tarayıcı pencerelerini açın.
  2. Son kullanıcının gibi her penceresinde, .aspx sayfanıza gidin. Aynı anda sayfaya göz olsa tüm pencereleri 10 saniye süre, aynı anda görüntüleme dikkat edin.
  3. 10 Saniye sonra gözatın veya sizin .aspx sayfayı yenileyin. Tüm pencereleri zaman güncelleştirme dikkat edin.



Referanslar

Daha fazla bilgi için aşağıdaki Microsoft Web sitelerine bakın:
ASP.NET'in en iyi duruma getirme
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaspoptimization.asp

ASP.NET önbelleği özellikleri
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

ASP.NET sayfaları önbelleğe alma
http://msdn2.microsoft.com/en-us/library/06bh14hk(vs.71).aspx

@ OutputCache
http://msdn2.microsoft.com/en-us/library/hdxfb6cy(vs.71).aspx

Özellikler

Makale numarası: 315896 - 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
Anahtar Kelimeler: 
kbmt kbcaching kbhowtomaster kbio kbperformance kbwebforms KB315896 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:315896

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