Skip to content

Latest commit

 

History

History
45 lines (39 loc) · 2.54 KB

File metadata and controls

45 lines (39 loc) · 2.54 KB

.← Примеры Razor Pages

Кеширование

📘 Кэширование ответов в ASP.NET Core

Тег cache

Для чатичнных представлений, которые используются насколько раз на странице с разными данными, можно использовать кеширование vary-by с параметром:

<cache vary-by="@Model.Id">@DateTime.Now</cache>

Можно кешировать в зависимости от параметра маршрута или запроса. Например параметр маршрута задан на странице @page "{section}" тогда:

<cache  vary-by-route="section">@DateTime.Now</cache>

Cache Tag Helper (learnrazorpages.com)
📘 Вспомогательная функция тегов кэша в MVC-моделях ASP.NET Core

Кеширование в памяти

Для подключения кеша в файле Startup.sc добавьте вызов services.AddRazorPages(); в метод ConfigureServices(IServiceCollection services) первой строкой. Далее в модели страницы добавьте вызов зависимости:

// Кеш в памяти
private IMemoryCache _cache;
public вашаСтраницаModel(IMemoryCache memoryCache)
{
     _cache = memoryCache;
}

Если вы одновременно используете доступ к базе данных, то зависимость должна включать также и контекст БД:

/ Кеш в памяти и база данных
private IMemoryCache _cache;
private readonly вашContext _context;

public вашаСтраницаModel(IMemoryCache memoryCache, TopfirmContext context)
{
     _cache = memoryCache;
     _context = context;
}

📘 Кэширование в памяти в ASP.NET Core
Кэширование в Razor Pages (earnrazorpages.com)
Кэширование с помощью MemoryCache (metanit.com)

⚗ ...