Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önbelleğe alma, hızlı erişim için verileri bellekte depolamanıza olanak tanır. Verilere yeniden erişildiğinde, uygulamalar verileri özgün kaynaktan almak yerine önbellekten alabilir. Bu, performansı ve ölçeklenebilirliği geliştirebilir. Ayrıca önbelleğe alma, veri kaynağı geçici olarak kullanılamadığında verileri kullanılabilir hale getirir.
.NET Framework, ASP.NET dahil olmak üzere hem Windows istemci hem de sunucu uygulamalarının performansını ve ölçeklenebilirliğini geliştirmek için kullanabileceğiniz önbelleğe alma işlevselliği sağlar.
Uyarı
.NET Framework 3.5 ve önceki sürümlerinde, ASP.NET ad alanında System.Web.Caching bir bellek içi önbellek uygulaması sağladı. .NET Framework'ün önceki sürümlerinde önbelleğe alma yalnızca System.Web ad alanında kullanılabilirdi ve bu nedenle ASP.NET sınıflarına bağımlılık gerektiriyordu. .NET Framework 4'te, System.Runtime.Caching ad alanı hem Web uygulamaları hem de Web dışı uygulamalar için tasarlanmış API'ler içerir.
Verileri Önbelleğe Alma
System.Runtime.Caching ad alanındaki sınıfları kullanarak bilgileri önbellekte saklayabilirsiniz. Bu ad alanında önbelleğe alma sınıfları aşağıdaki özellikleri sağlar:
Özel önbellek uygulamaları oluşturmak için temel sağlayan soyut türler.
Somut bir bellek içi nesne önbelleği uygulaması.
Soyut temel önbelleğe alma sınıfı (ObjectCache) aşağıdaki önbelleğe alma görevlerini tanımlar:
Önbellek girdileri oluşturma ve yönetme.
Süre sonu ve çıkarma bilgilerini belirtme.
Önbellek girdilerindeki değişikliklere yanıt olarak tetiklenen olayları tetikleme.
MemoryCache sınıfı, sınıfının bellek içi nesne önbellek uygulamasıdırObjectCache. Çoğu önbelleğe alma görevi için sınıfını kullanabilirsiniz MemoryCache .
Uyarı
MemoryCache sınıfı, System.Web.Caching ad alanında tanımlanan ASP.NET önbellek nesnesine göre modellenmiştir. Bu nedenle, ASP.NET'in önceki sürümlerinde sağlanan mantığa benzer bir iç önbelleğe alma mantığı bulunmaktadır.
WPF uygulamasında önbelleğe alma işleminin nasıl kullanılacağına ilişkin bir örnek için bkz . İzlenecek Yol: WPF Uygulamasında Uygulama Verilerini Önbelleğe Alma.
ASP.NET Uygulamalarında Önbelleğe Alma
System.Runtime.Caching ad alanındaki önbelleğe alma sınıfları, ASP.NET verilerini önbelleğe almak için işlevsellik sağlar.
Uyarı
Uygulamanız .NET Framework 3.5 veya önceki sürümleri hedef alıyorsa, ad alanında System.Web.Caching tanımlanan önbelleğe alma sınıflarını kullanmanız gerekir. Daha fazla bilgi için bkz ASP.NET Önbelleğe Alma Genel Bakış.
Uyarı
Yeni uygulamalar geliştirirken sınıfını MemoryCache kullanmanızı öneririz. System.Runtime.Caching ad alanında sağlanan API, Cache ad alanında sağlanan API'ye benzer. Bu nedenle, ASP.NET önceki sürümlerinde önbelleğe alma kullandıysanız API tanıdık olacaktır. ASP.NET uygulamalarda önbelleğe alma özelliğinin nasıl kullanılacağına ilişkin bir örnek için bkz . İzlenecek Yol: uygulama verilerini ASP.NET önbelleğe alma.
Çıktı Önbelleğe Alma
Uygulama verilerini el ile önbelleğe almak için ASP.NET sınıfını MemoryCache kullanabilirsiniz. ASP.NET ayrıca sayfaların, denetimlerin ve HTTP yanıtlarının oluşturulan çıkışını bellekte depolayan çıktı önbelleğini de destekler. ASP.NET Web sayfasında veya Web.config dosyasındaki ayarları kullanarak çıkış önbelleğini bildirimli olarak yapılandırabilirsiniz. Daha fazla bilgi için bkz. önbelleğe alma için outputCache Öğesi (ASP.NET Ayarlar Şeması).
ASP.NET, özel çıkış önbelleği sağlayıcıları oluşturarak çıktı önbelleğini genişletmenize olanak tanır. Özel sağlayıcılar kullanarak diskler, bulut depolama ve dağıtılmış önbellek altyapıları gibi diğer depolama cihazlarını kullanarak önbelleğe alınmış içeriği depolayabilirsiniz. Özel çıkış önbelleği sağlayıcısı oluşturmak için sınıfından OutputCacheProvider türetilen bir sınıf oluşturur ve uygulamayı özel çıkış önbellek sağlayıcısını kullanacak şekilde yapılandırırsınız.
WCF REST Hizmetlerinde Önbelleğe Alma
WCF REST hizmetleri için .NET Framework, ASP.NET'de kullanılabilen bildirim temelli çıktı önbelleğe alma özelliğinden yararlanmanızı sağlar. Bu, WCF REST hizmeti işlemlerinizden gelen yanıtları önbelleğe almanızı sağlar. Kullanıcı önbelleğe alma için yapılandırılmış bir hizmete HTTP GET isteği gönderdiğinde, ASP.NET önbelleğe alınan yanıtı geri gönderir ve hizmet yöntemi çağrılmaz. Önbelleğin süresi dolduktan sonra, bir kullanıcı bir sonraki HTTP GET isteği gönderdiğinde hizmet yönteminiz çağrılır ve yanıt yeniden önbelleğe alınır.
.NET Framework ayrıca koşullu HTTP GET önbelleği uygulamanıza da olanak tanır. REST senaryolarında, http belirtiminde açıklandığı gibi akıllı HTTP önbelleğe alma uygulamak için hizmetler tarafından genellikle koşullu HTTP GET isteği kullanılır. Daha fazla bilgi için bkz. WCF Web HTTP Hizmetleri için Önbelleğe Alma Desteği.
.NET Framework'te Önbelleğe Almayı Genişletme
.NET Framework'te önbelleğe alma, genişletilebilir olacak şekilde tasarlanmıştır. sınıfı, ObjectCache özel bir önbellek uygulaması oluşturmanıza olanak tanır. Bu sınıf, Windows Forms, Windows Presentation Foundation (WPF) ve Windows Communications Foundation (WCF) dahil olmak üzere tüm yönetilen uygulamalar için kullanılabilen üyeler sağlar. Bunu, farklı bir depolama mekanizması kullanan bir önbellek sınıfı oluşturmak için veya önbellek işlemleri üzerinde ayrıntılı denetim istiyorsanız yapabilirsiniz.
Önbelleğe alma süresini uzatmak için aşağıdakileri yapabilirsiniz:
sınıfından ObjectCache türetilen bir özel sınıf oluşturun ve sonra türetilmiş sınıfta özel bir önbellek uygulaması sağlayın.
sınıfından MemoryCache türetilen bir sınıf oluşturun ve türetilmiş sınıfı özelleştirin veya genişletin. Bunun nasıl yapıldığını gösteren bir örnek için bkz. bir ASP.NET Uygulamasında Birden Çok Önbellek Nesnesi Kullanarak Uygulama Verilerini Önbelleğe Alma.
sınıfından OutputCacheProvider türetilen bir sınıf oluşturun ve uygulamayı özel çıkış önbellek sağlayıcısını kullanacak şekilde yapılandırın.
Daha fazla bilgi için Scott Guthrie'nin blogundaki ASP.NET 4 (VS 2010 ve .NET Framework 4.0 Series) ile Genişletilebilir Çıktı Önbelleğe Alma girdisine bakın.