Anahtar tabanlı bağımlılıklar, Visual Basic. NET'i kullanarak ASP.NET'te verileri önbelleğe alma nasıl
Ö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
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Bu makalenin Microsoft Visual C# .NET sürümü için bkz: 308147.
Bu makalede, aşağıdaki Microsoft .NET Framework Sınıf Kitaplığı ad alanlarına başvurulmaktadır:
Bu makalede, aşağıdaki Microsoft .NET Framework Sınıf Kitaplığı ad alanlarına başvurulmaktadır:
- System.Web.Caching
- System.Web.SessionState
- System.Data.SqlClient
Bu görevde
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.
Özet
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
GereksinimlerAş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.
Visual Basic. NET'i kullanarak, bir ASP.NET Web uygulaması oluşturmaAşağıdaki yordam DataCacher adlı yeni bir ASP.NET Web uygulaması oluşturur.
- Microsoft Visual Studio .NET'i başlatın.
- Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
- Yeni proje) iletişim kutusunda, Visual Basic ProjectsProject Types altında tıklatın. Şablonları altından, ASP.NET Web uygulaması) tıklatın.
- 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
Web formu oluşturmaNot Ek bilgi için bu makalenin ilerisindeki "Kod Çalıştır" bölümüne bakın.
- Projenizin Visual Studio. NET'te DataCacheSample.aspx adlı yeni bir WebForm ekleyin. Bunu yapmak için şu adımları izleyin:
- 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.
- WebForm ad DataCacheSample.aspx, Aç ' ı tıklatın.
- Visual Studio'da .NET tümleşik geliştirme ortamı (IDE) Tasarım görünümüne geçin.
- WebForm düğme sayfaya ekleyin:
- WebForm düğme sayfaya sürükleyin.
- 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.
- Ikinci WebForm düğme ekleyin:
- Sayfaya başka bir WebForm düğmesini sürükleyin ve sonra CreateNewOrCached düğmesini yerleştirin.
- 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.
- WebForm etiket ekleyin:
- Sayfaya, WebForm etiket araç Kutusu'ndan sürükleyin.
- ID özelliği için CacheStatus değiştirmek, WebForm etiketi seçin ve sonra metin özelliği temizleyin.
- DataGrid ekleyin:
- WebForm DataGrid denetimi sayfaya sürükleyin. Varsayılan KIMLIK özelliğini DataGrid1 tutun.
Kod EkleÖnbellek öğeleri kaldırmak ve önbellek bağımlılığı oluşturmak için önbellek öğeleri eklemek için kodu ekleyin:
- .Aspx sayfası'nı sağ tıklatın ve kodunu görüntülemek için Kod Görüntüle</a1>'ı tıklatın.
- Aşağıdaki ad için ad listesi ekleyin: ad atlanmış veya yedek ad listesi varsa, bir uyarı iletisi alırsınız Not.
Imports System.Data.SqlClientImports System.Web.Caching
- Tasarım görünümüne geçin.
- 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ı.Not SQL sunucunuz düzgün çalışmamasına ConnectionString içinde sistemde yukarıda belirtilen kodu Değiştir.
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
- DataCacheSample.aspx geri Tasarım görünümünde geçiş sayfası.
- RemoveEntry_Click olay kodunu görüntülemek için RemoveEntry düğmesini çift tıklatın.
- 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
- Dosya menüsünde WebForm ve diğer ilişkili proje dosyalarını kaydetmek için Tümünü Kaydet'i tıklatın.
- Projeyi derleyin: Visual Studio .NET IDE Oluştur menüsünde Build Solution ' ı tıklatın.
Kodu çalıştırın
- Solution Explorer'da (Çözüm Gezgini) DataCacheSample.aspx sayfayı sağ tıklatın ve sonra da View in Browser'ı tıklatın.
- 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.
- 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.
- 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.
- 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.
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.
CacheltemRemovedCallback hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Referanslar
CacheltemRemovedCallback temsilciNotCacheltemRemovedCallback önbelleğe alınan bir maddeyi önbellekten çıkarıldığında uygulamaları bildiren bir geri arama yöntemini tanımlar.
http://msdn2.microsoft.com/en-us/library/system.web.caching.cacheitemremovedcallback(vs.71).aspx
http://msdn2.microsoft.com/en-us/library/system.web.caching.cacheitemremovedcallback(vs.71).aspx
CacheDependency sınıfı hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
CacheDependency sınıfıCacheDependency sınıfı, Önbellek bağımlılıkları, dosyaları, klasörleri veya diğer nesnelere uygulama önbelleğindeki anahtarları gibi izler.
http://msdn2.microsoft.com/en-us/library/system.web.caching.cachedependency(vs.71).aspx
http://msdn2.microsoft.com/en-us/library/system.web.caching.cachedependency(vs.71).aspx
Ç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 eklemeEk bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingitemstocache.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconaddingitemstocache.asp
305140BILGI: ASP.NET Yol Haritası
307225ASP.NET Önbelleği'ne genel bakışBack to the top
Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır
Özellikler
Makale No: 312358 - Son İnceleme: 02/24/2014 20:24:23 - Düzeltme: 4.5
Microsoft ASP.NET 1.0, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft ASP.NET 1.1, Microsoft Visual Basic .NET 2003 Standard Edition
- kbnosurvey kbarchive kbmt kbcaching kbdatabase kbhowtomaster KB312358 KbMttr