Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

NASıL YAPıLıR: Anahtar-based gerçekleştir Visual C#. NET'i kullanarak, ASP.NET'te veri önbelleği için bağımlılıklar

Ö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.

308147
Bu makalede Microsoft VB .NET sürümü için bkz: 312358.

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

Özet
Bu makalede, bir Microsoft ASP.NET uygulamasına anahtar tabanlı Bağımlılıklar'ı kullanarak verileri önbelleğe alma nasıl gösterilmektedir. Bu makalede sunulan örnek oluşturur ve bir DataSet nesnesi, başka bir önbellek girdisi öğe alt anahtarı başvurarak ayarlamak bağımlılığı önbelleğe ekler. Süre veya dosya tabanlı bağımlılıkları ile önbelleğe alma, veri örnekleri için bu makalenin "Başvurular" bölümüne bakın.

back to the top

Gereksinimler

  • Microsoft Windows 2000 veya Microsoft Windows XP
  • Microsoft ınternet ınformation Server (IIS)
  • Microsoft .NET framework
  • Microsoft SQL Server
back to the top

Bir ASP.NET Web uygulaması oluşturma

Bir Microsoft ASP.NET Web oluşturmak için Microsoft Visual C#. NET'i kullanmak DataCacher adlı uygulama:
  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, Project Types altında Visual C# Projects ' ı tıklatın ve sonra şablonları altında ASP.NET Web uygulaması ' ı tıklatın.
  4. Konum</a0> kutusunda, URL yolunu varsayılan WebApplication# adını değiştirerek DataCacher proje adını yazın. Yerel sunucuyu kullanıyorsanız, sunucu adı, konum için http://localhost/DataCacher ayarlayan http://localhost olarak bırakabilirsiniz.
back to the top

Web formu oluşturma

Not: Bu bölümünde yer kodu "Kod çalıştırma" bölümünde daha ayrıntılı açıklanmıştır.

Örnek önbellekleme verileri oluşturmak için <a0></a0>:
  1. Projenizin Visual Studio. NET'te DataCacheSample.aspx adlı yeni bir Web formu ekleyin:
    1. Solution <a1>Proje</a1> düğümünü sağ Explorer.
    2. Ekle ' yi tıklatın ve Yeni WebForm Ekle</a1>'ı tıklatın.
    3. Web formu DataCacheSample.aspx adı.
    4. ' ı tıklatın.
  2. Web biçiminde için <a1>Tasarım</a1> görünümü sekmesindeki Visual Studio .NET IDE (tümleşik geliştirme ortamı), sayfaya bir Web formu düğmesi ekleyin:
    1. Sayfaya bir Web formu düğmesini taşımak için bir sürükle ve bırak işlemi kullanın.
    2. Yeni düğme seçmek için tıklatın. ID özelliği için CreateNewOrCached değiştirin ve sonra da metin özelliği Oluştur yeni veya önbelleğe değiştirin.
  3. Ikinci bir Web formu düğmesi ekleyin:
    1. Başka bir Web formu taşımak için sürükle ve bırak işlemi düğmesini araç kutusundan sayfaya kullanın.
    2. Yeni düğme seçmek için tıklatın. ID özelliği Kaldır değiştirmek ve sonra da metin özelliği Kaldır değiştirin.
  4. Bir Web formu etiketini ekleyin:
    1. Araç kutusundan bir Web formu etiket sayfaya taşımak için bir sürükle ve bırak işlemi kullanın.
    2. Yeni etiket seçmek için tıklatın. ID özelliği için CacheStatus değiştirin ve sonra da metin özelliği temizleyin.
  5. Araç kutusundan bir DataGrid Web Form denetimi sayfaya taşımak için bir sürükle ve bırak işlemi kullanın. Bu denetim için DataGrid1 varsayılan ayarı <a0>Özellikler</a0> bölmesinde <a1>KIMLIK</a1> özelliğini bırakın.
back to the top

Kodu ekleme

Önbellek öğeleri kaldırmak ve önbellek bağımlılığı oluşturmak için önbellek öğeleri eklemek için bu kodu ekleyin:
  1. .Aspx sayfası'nı sağ tıklatın ve sonra da arka planda kodlama sayfayı açmak için Kod Görüntüle ' yi tıklatın.
  2. Bu örnek, arka planda kodlama sayfanın listeleniyor ad boşluğu System.Data.SqlClient ve System.DataSystem.Web.Caching ad eklendiğinden emin olun. Visual Studio'nun kullanıyorsanız. Web formu, ad boşluğunuzu kodu - arkasındaki sayfa listesi oluşturmak için NET aşağıdakine benzer görünür:
    using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Web.Caching;						
    Not: ad listelenmemişse ya da yedek listesi, bir ad varsa, uyarı alırsınız.
  3. Tasarım görünümü sekmesi üzerinde arka planda kodlama sayfanın CreateNewOrCached_Click olay'ı açmak için CreateNewOrCached düğmesini çift tıklatın.
  4. CreateNewOrCached_Click olay için aşağıdaki kodu ekleyin:
    private void CreateNewOrCached_Click(object sender, System.EventArgs e) {	//Attempt to create a DataSet object from the cache entry with the key "CacheDataSetEmployees" 	object CacheDataSetEmployees = (DataSet)Cache.Get("CacheDataSetEmployees");	        //Check to see if the object is null	if(CacheDataSetEmployees == null)	{	     //Set a value for the cache entry that will serve as the 	     //key for the dependency to be created on	     Cache["SqlPubsEmployees"] = "SomeValue";	     //Create the array of cache key item names	     string[] keys = new String[1];	     keys[0] = "SqlPubsEmployees";					     DataSet ds = new DataSet();	     //Create the connection and pass in the ConnectionString	    SqlConnection MySqlConn = new SqlConnection("Server=kronicas17;Trusted_Connection=Yes;initial catalog=pubs");	     //Create the Data Adapter and pass in the command text and connection to use	     SqlDataAdapter MySda = 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 cachekeys (keys)	     CacheDependency MyDependency = new CacheDependency(null, 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;        }        //Bind the DataGrid to the DataSource	DataGrid1.DataBind();}						
    Not: ConnectionString SQL sunucunuz düzgün olarak çalışması için bu adımı kodu değiştirmek gerekebilir. Kodu düzgün çalışması için SQL Server pubs veritabanı yüklü olması gerekir.
  5. DataCacheSample.aspx sayfa Tasarım görünümünde sekmesinde Remove_Click olay arka planda kodlama sayfayı açmak için Kaldır düğmesini çift tıklatın.
  6. Remove_Click olay için aşağıdaki kodu ekleyin:
    private void Remove_Click(object sender, System.EventArgs e)     {	//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";     }					
  7. Web.config dosyası <system.web> arasındaki </system.web> aşağıdaki öğeyi ekleyin:
    <identity impersonate=”true” />
  8. Dosya menüsünde, Web formu ve diğer ilişkili proje dosyalarını kaydetmek için Tümünü Kaydet'i tıklatın.
  9. Visual Studio .NET IDE Oluştur menüsünden projeyi oluşturmak için Oluştur ' ı tıklatın.
back to the top

Kod çalıştırma

  1. Kodu çalıştırmak için <a0></a0>, Solution Explorer'da (Çözüm Gezgini) DataCacheSample.aspx sayfayı sağ tıklatın ve View in Browser'ı tıklatın.
  2. "Yeni sürümü oluşturuldu" CacheStatus etiket görüntülemelidir; CreateNewOrCached düğmesini tıklatın ve DataGrid'i doldurulur.

    Notlar:
    • Yeni bir sürüm oluşturma ayarı CacheStatus etiketi için henüz bir geçerli önbellek öğesi olay girerken başvuru değil CacheDataSetEmployees önbellek anahtarının sonucudur. Bu durumda, DataSet oluşturulur DataGrid'iDataSet bağlıdır ve DataSet"CacheDataSetEmployees" önbellek anahtarı'nı kullanarak önbelleğine girilir.
    • Önceki adımdaki, ayrıca MyDependency adlı yeni bir CacheDependency nesne oluşturulmasını etmiş. Ö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 dosyaları veya bir zaman damgası, de kullanabilirsiniz, Not önemlidir.
  3. CreateNewOrCached düğmeyi yeniden tıklatın. CacheStatus "Önbelleğe alınmış önbelleğe alınan veri kümesi kullanıldığını bildiren sürümü", görüntüler. Bu önbelleğe alınan veriler görüntülenen kayıtlar <a0>pubs</a0> veritabanındaki bir SQL Query Analyzer'ı veya başka bir araç kullanarak değiştirerek olduğunu doğrulayabilirsiniz. Kaydı değiştirdikten sonra CreateNewOrCached düğmeyi yeniden tıklatın. Yaptığınız değişiklikleri görüntülenmiyor unutmayın. Kaldır ' ı tıklatın ve sonra yeniden veritabanında yapılan değişiklikleri görmek için CreateNewOrCached ' ı tıklatın.
  4. Kaldır düğmesini tıklatın. CacheStatus "Önbellek girdisi kaldırıldı" görüntüler. Önbellek öğesi anahtarıyla Remove_Click olay Cache.Remove yöntemi kullanarak "SqlPubsEmployees" kaldırılır. Oluşturduğunuz zaman (kaldırılan maddenin önbellek anahtar adını içeren) dizi MyDependency ile listelenen çünkü Ekle yöntemini kullanarak ve MyDependency, bağımlılık parametresi olarak başvuru tarafından oluşturulduğundan "CacheDataSetEmployees" öğesi kaldırılır.
  5. CreateNewOrCached düğmeyi yeniden tıklatın. DataSet olayı harekete zaman, artık önbelleğinde varolan based açık gerçeğine, oluşturulduğundan CacheStatus "Yeni sürüm oluşturulmuş" iletisini görüntüler.
  6. DataGrid'iDataSet maddenin önbelleğinden bile kaldırıldıktan sonra verilerle doldurulan olarak görüntülendiğini farkedebilirsiniz. Varsayılan olarak doğru olarak ayarlanan EnableViewState özelliği sonucudur. Bu denetimi etmesine durumunu etkinleştirir ve bu kodu'da önbellek girdisi işleme ilişkili değildir. Bir daha görsel sunumunu denetim durumu için her aşaması sırasında, yanlış olarak EnableViewState ayarlayabilirsiniz.
Not: Bu örnek gelince, gerçek bir durumda, diğer tablolar için önbellek anahtarları önbellek anahtar dizi (anahtarlar dizideki örnek kodu) basılı veya diğer önbellek öğeleri, böylece bu öğelerden birini değiştirmek için ise, bu bağımlılık ile oluşturulan bir madde için önbellek girdisi (Bu örnekteki CacheDataSetEmployees) önbellekten de kaldırılması. Geri aramaları hakkında daha fazla bilgi için bakın için bu makalenin "Başvurular" bölümünde, sonra geri aramaları; kullanarak gerektiğinde işlev.

back to the top

SORUN GİDERME

  • Ö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 korunmaz. Bu örnek, başka bir dizi öğesinin örnek kod anahtarları dizide tutulur ve öğe geçersiz önbellek anahtar adı için ayarlanmış olacaktır.
  • Önbellek anahtarlar dizisi, bir CacheDependency nesnesine ile kullanılan kadar özel anlamı yoktur.
  • Öğenin yok bir bağımlılık veya diğer bir sona erme önbelleğine eklerseniz, çalýþma zamaný ne zaman, maddenin önbellekten kaldırılan denetler.
back to the top
Referanslar
CacheltemRemovedCallback kullanma hakkında daha fazla bilgi için temsilci seçme, aşağıdaki Microsoft Web sitesine bakın: Not: CacheltemRemovedCallback temsilci ö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 sitesine bakın: Not: dosyaları, dizinleri veya diğer nesnelere uygulama önbelleğindeki anahtarları Önbellek bağımlılıkları CacheDependency sınıfı izler.

ASP.NET için kullanılabilen çeşitli önbelleğe alma seçenekleri hakkında daha fazla bilgi için aşağıdaki Microsoft .NET Framework SDK belgelerine başvurun: ASP.NET için kullanılabilen çeşitli önbelleğe alma seçenekleri hakkında ek bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
305140ASP.NET Yol Haritası
307225BILGI: ASP.NET önbellekleme genel bakış
back to the top

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 308147 - Son İnceleme: 08/28/2007 06:26:02 - Düzeltme: 2.8

  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • kbmt kbcaching kbdatabase kbhowtomaster KB308147 KbMttr
Geri bildirim