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.
Tarafından Peter Kellner
Önbellek Etiketi Yardımcısı, içeriğini iç ASP.NET Core önbellek sağlayıcısına önbelleğe alarak ASP.NET Core uygulamanızın performansını geliştirme olanağı sağlar.
Etiket Yardımcıları'nın genel bakışı için bkz. ASP.NET Core 'daEtiket Yardımcıları.
Aşağıdaki Razor işaretleme geçerli tarihi önbelleğe alır:
<cache>@DateTime.Now</cache>
Etiket Yardımcısı'nı içeren sayfaya yapılan ilk istek, güncel tarihi görüntüler. Ek istekler, önbellek süresi dolana kadar (varsayılan 20 dakika) veya önbelleğe alınan tarih önbellekten çıkarılana kadar önbelleğe alınan değeri gösterir.
Önbellek Etiketi Yardımcı Öznitelikleri
expires-after
| Öznitelik türü | Example | Varsayılan |
|---|---|---|
TimeSpan |
@TimeSpan.FromSeconds(120) |
— |
expires-after , içeriği önbelleğe almak için ilk istek zamanından itibaren süreyi ayarlar.
Örnek:
<cache expires-after="@TimeSpan.FromSeconds(120)">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
enabled
| Öznitelik türü | Örnekler | Varsayılan |
|---|---|---|
| Boolean |
true, false |
true |
enabled Önbellek Etiketi Yardımcısı tarafından kapsanan içeriğin önbelleğe alınıp alınmadığını belirler. Varsayılan değer: true. olarak ayarlanırsa false, işlenen çıkış önbelleğe alınmaz .
Örnek:
<cache enabled="true">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
expires-on
| Öznitelik türü | Example |
|---|---|
DateTimeOffset |
@new DateTime(2025,1,29,17,02,0) |
expires-on önbelleğe alınan öğe için mutlak bir son kullanma tarihi ayarlar.
Aşağıdaki örnek, Önbellek Etiketi Yardımcısı'nın içeriğini 29 Ocak 2025'te saat 17:02'ye kadar önbelleğe alır:
<cache expires-on="@new DateTime(2025,1,29,17,02,0)">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
expires-sliding
| Öznitelik türü | Example |
|---|---|
TimeSpan |
@TimeSpan.FromSeconds(60) |
Değerine erişilmediyse önbellek girdisinin çıkarılacağı zamanı ayarlar.
Örnek:
<cache expires-sliding="@TimeSpan.FromSeconds(60)">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
expires-after ve expires-on tanımlanmamışsa varsayılan süre 30 saniyedir.
priority
| Öznitelik türü | Örnekler | Varsayılan |
|---|---|---|
CacheItemPriority |
High, Low, NeverRemove, Normal |
Normal |
priority yerleşik önbellek sağlayıcısına önbellek çıkarma kılavuzu sağlar. Web sunucusu Low , bellek baskısı altındayken önce önbellek girdilerini çıkartır.
Örnek:
<cache priority="High">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
priority özniteliği belirli bir önbellek saklama düzeyini garanti etmez.
CacheItemPriority yalnızca bir öneridir. Bu özniteliğin olarak NeverRemove ayarlanması, önbelleğe alınan öğelerin her zaman korunduğunu garanti etmez. Daha fazla bilgi için Ek Kaynaklar bölümündeki konulara bakın.
Önbellek Etiketi Yardımcısı , bellek önbelleği hizmetine bağlıdır. Önbellek Etiketi Yardımcısı, eklenmemişse hizmeti ekler.
vary-by
| Öznitelik türü | Example |
|---|---|
| String | @Model |
vary-by önbelleğe alınan verilerin özelleştirilmesini sağlar. Özniteliğin dize değeri tarafından başvuruda bulunan nesne değiştiğinde, Önbellek Etiketi Yardımcısı'nın içeriği güncelleştirilir. Genellikle, model değerleri dizisinin birleştirilmesi bu özniteliğe atanır. Sonuç olarak, birleştirilmiş değerlerden herhangi birine yapılan bir güncelleştirmenin önbelleği geçersiz kıldığı bir senaryoya neden olur.
Aşağıdaki örnekte, görünümü görüntüleyen denetleyici yönteminin iki yol parametresinin myParam1 tamsayı değerini ve myParam2toplamını tek model özelliği olarak döndürdüğü varsayılır. Bu toplam değiştiğinde, Önbellek Etiketi Yardımcısı'nın içeriği yeniden işlenir ve önbelleğe alınır.
Eylem:
public IActionResult Index(string myParam1, string myParam2, string myParam3)
{
int num1;
int num2;
int.TryParse(myParam1, out num1);
int.TryParse(myParam2, out num2);
return View(viewName, num1 + num2);
}
Index.cshtml:
<cache vary-by="@Model">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
vary-by-cookie
| Öznitelik türü | Örnekler |
|---|---|
| String |
.AspNetCore.Identity.Application, .AspNetCore.Identity.Application,HairColor |
vary-by-cookie değerler değiştiğinde önbellek yenilemesini cookiecookie tetikleyen virgülle ayrılmış bir ad listesi kabul eder.
Aşağıdaki örnek, ASP.NET Core cookie ile ilişkili Identity'i izler. Kullanıcının kimliği doğrulandığında, içindeki bir değişiklik önbellek yenilemesini Identitycookie tetikler:
<cache vary-by-cookie=".AspNetCore.Identity.Application">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
vary-by-culture
| Öznitelik türü | Örnekler | Varsayılan |
|---|---|---|
| Boolean |
true, false |
false |
vary-by-culture önbelleğe alınan sonucu istek kültürüne göre değişir.
true özniteliğini ayarlamak, sonucun CultureInfo.CurrentCulture ve CultureInfo.CurrentUICulture ile değişken olduğu anlamına gelir.
Örnek:
<cache vary-by-culture="true">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
vary-by-header
| Öznitelik türü | Örnekler |
|---|---|
| String |
User-Agent, User-Agent,content-encoding |
vary-by-header , değiştirildiğinde önbellek yenilemesini tetikleyen üst bilgi değerlerinin virgülle ayrılmış listesini kabul eder.
Aşağıdaki örnek üst bilgi değerini User-Agentizler. Örnek, web sunucusuna sunulan her farklı User-Agent içerik için içeriği önbelleğe alır:
<cache vary-by-header="User-Agent">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
vary-by-query
| Öznitelik türü | Örnekler |
|---|---|
| String |
Make, Make,Model |
vary-by-query, listelenmiş herhangi bir anahtarın değeri değiştiğinde önbellek yenilemesini tetikleyen, virgülle ayrılmış Keys listesini içeren sorgu dizesini (Query) kabul eder.
Aşağıdaki örnek, Make ve Model değerlerini izler. Örnek, web sunucusuna sunulan her farklı Make ve Model için içeriği önbelleğe alır.
<cache vary-by-query="Make,Model">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
vary-by-route
| Öznitelik türü | Örnekler |
|---|---|
| String |
Make, Make,Model |
vary-by-route rota verileri parametre değeri değiştiğinde önbellek yenilemesini tetikleyen yol parametresi adlarının virgülle ayrılmış listesini kabul eder.
Örnek:
Startup.cs:
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{Make?}/{Model?}");
Index.cshtml:
<cache vary-by-route="Make,Model">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
vary-by-user
| Öznitelik türü | Örnekler | Varsayılan |
|---|---|---|
| Boolean |
true, false |
false |
vary-by-user oturum açmış kullanıcı (veya Bağlam Sorumlusu) değiştiğinde önbelleğin sıfırlanıp sıfırlanmayacağını belirtir. Geçerli kullanıcı, İstek Bağlam Sorumlusu olarak da bilinir ve Razor görünümünde @User.Identity.Name'e referans verilerek görüntülenebilir.
Aşağıdaki örnek, önbellek yenilemesini tetiklemek için geçerli oturum açmış kullanıcıyı izler:
<cache vary-by-user="true">
Current Time Inside Cache Tag Helper: @DateTime.Now
</cache>
Bu özniteliğin kullanılması, önbellekteki içeriği bir oturum açma ve oturum kapatma döngüsü aracılığıyla korur. değeri olduğunda true, kimlik doğrulama döngüsü kimliği doğrulanmış kullanıcının önbelleğini geçersiz kılır. Kullanıcının kimliği doğrulandığında yeni bir benzersiz cookie değer oluşturulduğundan önbellek geçersiz kılınır. Önbellek, cookie mevcut olmadığında veya cookie süresi dolduğunda anonim durum için muhafaza edilir. Kullanıcının kimliği doğrulanmamışsa önbellek korunur.
Ek kaynaklar
ASP.NET Core