Anahtar tabanlı bağımlılıklar, Visual Basic. NET'i kullanarak ASP.NET'te verileri önbelleğe alma nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 312358 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım kılavuzda, anahtar tabanlı bağımlılıklar, verileri önbelleğe alma, bir ASP.NET uygulamasında uygulamak için kullanın.

Bu örnek oluşturur ve bir DataSet nesnesi, başka bir önbellek girdisi öğe alt anahtarı başvurarak ayarlamak bağımlılığı bir önbelleğe ekler. Verileri önbelleğe alma, zamana dayalı veya dosya tabanlı bağımlılıkları ile örnekleri ve ek bilgi için bu makalenin <a1>REFERENCES</a1> bölümüne bakın.

Back to the top

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows 2000 veya Microsoft Windows XP.
  • Microsoft ınternet ınformation Services (IIS).
  • Microsoft .NET framework'nı tıklatın.
  • Microsoft SQL Server.
Back to the top

Visual Basic. NET'i kullanarak, bir ASP.NET Web uygulaması oluşturma

Aşağıdaki yordam DataCacher adlı yeni bir ASP.NET Web uygulaması oluşturur.
  1. Microsoft Visual Studio .NET'i başlatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
  3. Yeni proje) iletişim kutusunda, Visual Basic ProjectsProject Types altında tıklatın. Şablonları altından, ASP.NET Web uygulaması) tıklatın.
  4. Yeni proje adla Konum kutusuna WebApplication # değiştirin: DataCacher. Yerel sunucuyu kullanıyorsanız, sunucu adını http://localhost bırakın. Konum kutusu şuna benzer:
    http://localhost/DataCacher
Back to the top

Web formu oluşturma

Not Ek bilgi için bu makalenin ilerisindeki "Kod Çalıştır" bölümüne bakın.
  1. Projenizin Visual Studio. NET'te DataCacheSample.aspx adlı yeni bir WebForm ekleyin. Bunu yapmak için şu adımları izleyin:
    1. Solution Explorer'da (Çözüm Gezgini) proje düğümünü sağ tıklatın, Ekle ' ı işaretleyin ve Yeni WebForm Ekle</a1>'ı tıklatın.
    2. WebForm ad DataCacheSample.aspx, ' ı tıklatın.
  2. Visual Studio'da .NET tümleşik geliştirme ortamı (IDE) Tasarım görünümüne geçin.
  3. WebForm düğme sayfaya ekleyin:
    1. WebForm düğme sayfaya sürükleyin.
    2. WebForm düğmesini seçin. ID özelliği için CreateNewOrCached değiştirmek ve metin özelliği, Oluştur yeni veya önbelleğe değiştirin.
  4. Ikinci WebForm düğme ekleyin:
    1. Sayfaya başka bir WebForm düğmesini sürükleyin ve sonra CreateNewOrCached düğmesini yerleştirin.
    2. RemoveEntry için KIMLIK özelliğini değiştirmek WebForm düğmesini seçin ve sonra da metin özelliği için RemoveEntry değiştirin.
  5. WebForm etiket ekleyin:
    1. Sayfaya, WebForm etiket araç Kutusu'ndan sürükleyin.
    2. ID özelliği için CacheStatus değiştirmek, WebForm etiketi seçin ve sonra metin özelliği temizleyin.
  6. DataGrid ekleyin:
    1. WebForm DataGrid denetimi sayfaya sürükleyin. Varsayılan KIMLIK özelliğini DataGrid1 tutun.
Back to the top

Kod Ekle

Önbellek öğeleri kaldırmak ve önbellek bağımlılığı oluşturmak için önbellek öğeleri eklemek için kodu ekleyin:
  1. .Aspx sayfası'nı sağ tıklatın ve kodunu görüntülemek için Kod Görüntüle</a1>'ı tıklatın.
  2. Aşağıdaki ad için ad listesi ekleyin: ad atlanmış veya yedek ad listesi varsa, bir uyarı iletisi alırsınız
    Imports System.Data.SqlClient
    Imports System.Web.Caching
    						
    Not.
  3. Tasarım görünümüne geçin.
  4. CreateNewOrCached_Click olay kodunu görüntülemek için CreateNewOrCached düğmesini çift tıklatın. Aşağıdaki kod CreateNewOrCached_Click olayına ekleyin.

    Not Bu kod, SQL Server Pubs yüklemenizi gerektirir. veritabanı.
         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
    						
    Not SQL sunucunuz düzgün çalışmamasına ConnectionString içinde sistemde yukarıda belirtilen kodu Değiştir.
  5. DataCacheSample.aspx geri Tasarım görünümünde geçiş sayfası.
  6. RemoveEntry_Click olay kodunu görüntülemek için RemoveEntry düğmesini çift tıklatın.
  7. RemoveEntry_Click olay için aşağıdaki kodu ekleyin:
    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. Dosya menüsünde WebForm ve diğer ilişkili proje dosyalarını kaydetmek için Tümünü Kaydet'i tıklatın.
  9. Projeyi derleyin: Visual Studio .NET IDE Oluştur menüsünde Build Solution ' ı tıklatın.
Back to the top

Kodu çalıştırın

  1. Solution Explorer'da (Çözüm Gezgini) DataCacheSample.aspx sayfayı sağ tıklatın ve sonra da View in Browser'ı tıklatın.
  2. CreateNewOrCached düğmesini tıklatın. DataGrid denetimi doldurulur ve Yeni sürüm oluşturmaCacheStatus etiketini görüntüler.

    Notlar:
    • Olay girdiğinizde CacheDataSetEmployees önbellek anahtarının bir geçerli önbellek öğesi başvurmuyor CacheStatus etiketi için Yeni bir sürüm oluşturma ayarı görünür. Bu durumda, DataSet oluşturulan DataGrid'iDataSet bağlı ve DataSetCacheDataSetEmployees önbellek anahtarını kullanarak önbelleğe girilir.
    • MyDependency adlı yeni bir CacheDependency nesnesine oluşturulur. Önbelleğe Ekle yöntemini kullanarak eklendiğinde, MyDependency nesne CacheDataSetEmployees madde için bağımlılık olarak listelenir. Bu örnek, anahtar tabanlı bağımlılıklar gösterir, ancak diğer tür bağımlılık tabanlı önbelleğe alma gibi ölçütlere dosya ya da zaman damgası de kullanabilirsiniz.
  3. CreateNewOrCached düğmeyi yeniden tıklatın.

    Önbelleğe alınan sürüm olarak kullanılanCacheStatus etiket görüntülendiğine dikkat edin. Bu, önbelleğe alınmış DataSet kullanılmakta olduğunu gösterir. Bu önbelleğe alınan verileri doğrulamak için <a0></a0>, SQL Query Analyzer'ı veya başka bir araç kullanarak pubs veritabanındaki kayıtları görüntülenen birini değiştirin. Kaydı değiştirdikten sonra CreateNewOrCached düğmeyi yeniden tıklatın. Yaptığınız değişiklikleri görüntülenmiyor dikkat edin. RemoveEntry ' ı tıklatın ve sonra CreateNewOrCached yeniden veritabanında yapılan değişiklikleri görmek için tıklatın.
  4. RemoveEntry düğmesini tıklatın.

    Önbellek öğesi kaldırıldıCacheStatus etiket görüntülendiğine dikkat edin. Önbellek öğesi SqlPubsEmployees anahtarıyla RemoveEntry_Click olay Cache.Remove yöntemini kullanarak kaldırılır. Oluşturulduğunda, kaldırılan maddenin önbellek anahtar adını içeren bir dizi MyDependency listelenir. Yöntem Ekle ve <a1>Başvuru</a1> MyDependency, bağımlılık parametresi olarak kullanarak oluşturulduğundan CacheDataSetEmployees maddenin kaldırılacaktır.
  5. CreateNewOrCached yeniden tıklatın.

    Yeni bir sürüm oluşturulurCacheStatus etiket görüntülendiğine dikkat edin. Olay harekete olduğunda, önbellekte artık based açık gerçeğine DataSet oluşturulur.

    Ayrıca, DataGrid'iDataSet maddenin önbellekten bile kaldırıldıktan sonra verilerle doldurulan gibi görüntülenen dikkat edin. EnableViewState özelliği true olarak varsayılan olarak ayarlanmış olmasıdır. Böylece denetimin durumu korunur ve önbellek girdisi işleme'kodda için ilişkili değildir. Bir daha görsel sunumunu denetim durumu için her aşaması sırasında EnableViewStateyanlış olarak ayarlayın.
Gerçek dünyada durumda önbellek anahtar dizi (Bu örnekte, anahtarlar dizisi) diğer bir tablo veya diğer önbellek öğeleri önbellek tuşları saptanabilir. Sonra önbellek girdisi (Bu örnekte, CacheDataSetEmployees) maddenin bu öğeleri değişiklikleri biri ile oluşturduysanız, bu bağımlılığı önbellekten kaldırıldı. Gerekirse bir geri yanıt. Geri aramaları hakkında daha fazla bilgi için bu makalenin "Başvurular" bölümüne bakın.

Back to the top

Sorun Giderme

  • Önbellek anahtarları dizi içinde listelenen anahtar adları, gerçek önbellek maddelerle ilişkili olması gerekir. Değilse, bağımlılığı için kullanılan madde önbellekte düzgün--örneğin, başka bir dizi öğesinin örnek kod anahtarları dizisinde tutar ve öğe geçersiz önbellek anahtar adı için ayarlanır korunur değil.
  • Önbellek anahtarlar dizisi, bir CacheDependency nesnesine ile kullanılan kadar özel anlamı yoktur.
  • Sonra öğeyi önbelleğine yok bir bağımlılık veya başka bir süre sonu eklerseniz, çalışma zamanı denetimi maddenin önbellekten kaldırmak ne zaman belirler.
Back to the top

Referanslar

CacheltemRemovedCallback hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
CacheltemRemovedCallback temsilci
http://msdn2.microsoft.com/en-us/library/system.web.caching.cacheitemremovedcallback(vs.71).aspx
NotCacheltemRemovedCallback önbelleğe alınan bir maddeyi önbellekten çıkarıldığında uygulamaları bildiren bir geri arama yöntemini tanımlar.

CacheDependency sınıfı hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
CacheDependency sınıfı
http://msdn2.microsoft.com/en-us/library/system.web.caching.cachedependency(vs.71).aspx
CacheDependency sınıfı, Önbellek bağımlılıkları, dosyaları, klasörleri veya diğer nesnelere uygulama önbelleğindeki anahtarları gibi izler.

Çeşitli önbelleğe alma seçenekleri kullanılabilir ASP.NET için kısa bir bakış için aşağıdaki Microsoft Web sitesini ziyaret edin:
Önbellek öğeler ekleme
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingitemstocache.asp
Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
305140BILGI: ASP.NET Yol Haritası
307225ASP.NET Önbelleği'ne genel bakış
Back to the top

Özellikler

Makale numarası: 312358 - Last Review: 24 Şubat 2014 Pazartesi - Gözden geçirme: 4.5
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbcaching kbdatabase kbhowtomaster KB312358 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:312358

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