@ OutputCache
Bir ASP.NET sayfasının veya sayfada bulunan bir kullanıcı denetiminin çıktı önbelleği ilkelerini bildirimli olarak denetler. Çıktı önbelleği hakkında daha fazla bilgi için, bkz. ASP.NET önbellek.
<%@ OutputCache Duration="#ofseconds"
Location="Any | Client | Downstream | Server | None |
ServerAndClient "
Shared="True | False"
VaryByControl="controlname"
VaryByCustom="browser | customstring"
VaryByHeader="headers"
VaryByParam="parametername"
VaryByContentEncoding="encodings"
CacheProfile="cache profile name | ''"
NoStore="true | false"
SqlDependency="database/table name pair | CommandNotification"
ProviderName="Provider Name"
%>
Attributes
Duration
Sayfa veya kullanıcı denetiminin önbelleğe alınmasının saniye cinsinden süresi. Sayfada veya kullanıcı denetiminde bu özniteliği ayarlamak, nesneden HTTP yanıtları için sona erme ilkesi oluşturur ve sayfayı veya kullanıcı denetimini otomatik olarak önbelleğe alır.Not Bu öznitelik zorunludur.Dahil etmezseniz, ayrıştırıcı hatası oluşur.
Location
OutputCacheLocation sabit listesi değerlerinden biri. Varsayılan, Any değeridir.Not Bu öznitelik, kullanıcı denetimlerindeki (.ascx dosyaları) @ OutputCache yönergeleri için desteklenmez.
CacheProfile
Sayfa ile ilişkilendirilen önbellek ayarlarının adı. Bu, isteğe bağlı bir özniteliktir ve varsayılan değeri boş dizedir ("").Not Bu öznitelik, kullanıcı denetimlerindeki (.ascx dosyaları) @ OutputCache yönergeleri için desteklenmez.Bir sayfada belirtildiği zaman, değer outputCacheSettings bölümü altındaki outputCacheProfiles ögesindeki kullanılabilir girdilerden birinin adları ile eşleşmelidir.Ad, bir profil girdisi ile eşleşmezse, özel durum oluşturulur.
NoStore
Önemli bilgilerin ikincil depolamasının engellenip engellenmeyeceğini belirleyen Boole değer.Not Bu öznitelik, kullanıcı denetimlerindeki (.ascx dosyaları) @ OutputCache yönergeleri için desteklenmez.Bu özniteliği true olarak ayarlamak, istek sırasında çalıştırılan aşağıdaki koda eşdeğerdir:
Response.Cache.SetNoStore();
ProviderName
Özel çıkış önbelleği sağlayıcısına kullanılan tanımlar bir string değeri. Daha fazla bilgi için bkz: Açıklamalar bu konuda ve giriş bölümü Genişletilebilir çıktı önbelleği asp ile.net 4 (vs 2010 ve.4.0 Serisinin net) Scott Guthrie'nın blog üzerindeNot Bu özniteliği, yalnızca kullanıcı denetimlerinde (.ascx dosyalarını) desteklenir.Bunun için desteklenmeyen asp dahil@ OutputCache yönergeleri.net sayfası (.aspx dosyaları).
Shared
Kullanıcı denetimi çıktısının birden çok sayfayla paylaşılabilir olup olmadığını belirleyen Boole değeri. Varsayılan, false değeridir. Daha fazla bilgi için, Açıklamalar bölümüne bakın.Not Bu öznitelik, ASP.NET sayfalarındaki (.aspx dosyaları) @ OutputCache yönergeleri için desteklenmez.
SqlDependency
Sayfanın veya denetimin çıktı önbelleğine bağlı veri tabanı ve tablo ad çiftleri kümesini tanımlayan dize değeri. SqlCacheDependency sınıfının çıktı önbelleğinin bağlı olduğu veri tabanındaki tabloyu izlediğini, böylece tablodaki ögeler güncelleştirildiğinde bu ögelerin önbellekten tablo tabanlı yoklama kullanırken kaldırıldığını unutmayın. CommandNotification değeri ile bildirimleri (Microsoft SQL Server 2005 içinde) kullanırken, son olarak SQL Server 2005 sunucusuyla sorgu bildirimlerini kaydetmek için SqlDependency sınıfı kullanılır.Not SqlDependency özniteliği için CommandNotification değeri, yalnızca Web (.aspx) sayfalarında geçerlidir.Kullanıcı denetimleri, tablo tabanlı yoklamayı yalnızca @ OutputCache yönergesiyle kullanabilir.
VaryByCustom
Özel çıktı önbelleği gereksinimlerini temsil eden her metin. Bu özniteliğe browser değeri verilmişse, önbellek tarayıcı adı ve ana sürüm bilgileri tarafından değiştirilir. Özel bir dize girilirse, uygulamanızın Global.asax dosyasındaki GetVaryByCustomString yöntemini geçersiz kılmanız gerekir.VaryByHeader
Çıktı önbelleğini değiştirmek için kullanılan noktalı virgüllerle ayrılmış HTTP üstbilgileri listesi. Bu öznitelik birden çok üstbilgiye ayarlandığında, çıktı önbelleği istenen belgenin belirtilen üstbilgilerinin her birleşimi için farklı bir sürüm içerir.Not VaryByHeader özniteliğini ayarlamak, yalnızca ASP.NET önbelleğindekileri değil, tüm HTTP sürüm 1.1 önbelleklerindeki önbelleğe alma ögelerini etkinleştirir.Bu öznitelik kullanıcı denetimlerindeki @ OutputCache yönergeleri için desteklenmez.
VaryByParam
Çıktı önbelleğini değiştirmek için kullanılan noktalı virgülle ayrılmış dize listesi. Varsayılan değer olarak bu dizeler, GET yöntemi ile gönderilen sorgu dize değerine veya POST yöntemi kullanılarak gönderilen parametreye karşılık gelir. Bu öznitelik birden çok parametreye ayarlandığında, çıktı önbelleği istenen belgenin belirtilen parametrelerinin her birleşimi için farklı bir sürüm içerir. Olası değerler, none, yıldız işareti (*) ve tüm geçerli sorgu dizesi veya POST parametre adı içerir.Uyarı ASP.NET sayfaları ve kullanıcı denetimlerinde @ OutputCache yönergesini kullandığınızda, bu öznitelik veya VaryByControl özniteliği gereklidir.Bunu dahil edemezseniz, ayrıştırıcı hatası oluşur.Önbelleğe alınmış içeriği değiştirmek için parametre belirtmek istemiyorsanız, değeri none'a ayarlayın.Çıktı önbelleğinin tüm parametre değerleri tarafından değiştirilmesini istiyorsanız, özniteliği yıldız işaretine (*) ayarlayın.
VaryByControl
Kullanıcı denetiminin çıktı önbelleğini değiştirmek için kullanılan noktalı virgülle ayrılmış dize listesi. Bu dizeler kullanıcı denetiminde bildirilen ASP.NET sunucu denetimlerinin ID özellik değerlerini temsil eder. Daha fazla bilgi için bkz. Bir ASP.NET sayfası bölümlerini önbelleğe alma.Not ASP.NET sayfaları ve kullanıcı denetimlerinde @ OutputCache yönergesini kullandığınızda, bu öznitelik veya VaryByParam özniteliği gereklidir.
VaryByContentEncodings
Çıktı önbelleğini değiştirmek için kullanılan noktalı virgülle ayrılmış dize listesi. VaryByContentEncodings özniteliği, farklı içerik kodlamaları için önbelleğe alınan yanıtların nasıl sunulduğunu belirlemek için kullanılan Accept-Encoding üstbilgisi ile kullanılır. Belirtme hakkında daha fazla bilgi için Accept-Encoding başlık 14,3 bölümüne bakın Köprü Metni Aktarım Protokolü--http/1.1 belirtimi W3C Web sitesinde.
Açıklamalar
Sayfa çıktısı önbelleği için değerleri ayarlamak, Cache özelliği üzerinden SetExpires ve SetCacheability yöntemlerini işlemek ile aynıdır.
Web Forms sayfası kullanıcı tarafından görüntülenmek için yetkilendirme gerektiriyorsa, çıkış önbelleği Cache-Control HTTP üstbilgisini private olarak ayarlar. Bu konular hakkında daha fazla bilgi için bkz. ASP.NET Sayfalar önbelleğe alma.
Shared özniteliğini true olarak ayarlarsanız, önbelleğe alınmış kullanıcı denetimi çıktısı birden çok Web Forms sayfası tarafından erişilebilir. true olarak ayarlamazsanız, varsayılan davranış kullanıcı denetimini içeren her sayfa için kullanıcı denetimi çıktısının bir sürümünü önbelleğe almaktır. Shared özniteliğini etkinleştirerek, önemli miktarda belleği kaydedebilirsiniz. Daha fazla bilgi için bkz. Bir ASP.NET sayfası bölümlerini önbelleğe alma.
Örnek
Aşağıdaki kod örneğinde, çıktı önbelleğine alınmış olan sayfa veya kullanıcı denetimi için nasıl süre ayarlayabileceğiniz gösterilmektedir.
<%@ OutputCache Duration="100" VaryByParam="none" %>
Sonraki kod örneği, çıktı önbelleğini sayfa veya kullanıcı denetiminin konumu tarafından önbelleğe alınmasını nasıl gösterebileceğini ve bir formun POST yönteminden veya sorgu dizesinden form parametrelerini nasıl sayacağını göstermektedir. Farklı bir konumla veya parametre sayısıyla ulaşan her HTTP isteği (veya her ikisi birden) on saniye için önbelleğe alınır. Aynı parametre değerleri olan tüm izleyen istekler, girdi süresi doluncaya kadar önbellekten karşılanır.
<%@ OutputCache Duration="10" VaryByParam="location;count" %>
Ayrıca bkz.
Başvuru
Metin Şablonu Yönerge Sözdizimi
Kavramlar
ASP.NET önbelleğe alma genel bakış
ASP.NET Sayfalar önbelleğe alma