Можете ли вы динамически установить тег OutputCache в .net 8? ⇐ C#

Место общения программистов C#
Anonymous
Можете ли вы динамически установить тег OutputCache в .net 8?

Сообщение Anonymous »

Я создаю сайт .net 8 MVC, опираясь на OutputCache. Реализация довольно стандартная и работает отлично.
Например.

Код: Выделить всё

[OutputCache(PolicyName = "MyCachePolicy")]
public ActionResult Index(SubPageType currentPage)
{
// ...
return View(currentPage);
}
Все это внедряется с помощью метода расширения IServiceCollection

Код: Выделить всё

options.AddPolicy(profile.Key, builder =>
{
builder.Tag(profile.Key);
builder.SetVaryByRouteValue(profile.Value?.VaryByRouteValueNames);
builder.SetVaryByQuery(profile.Value.VaryByQueryKeys);
// ...
Что мне нужно, так это удалить один кэшированный элемент. SubPageType currentPage маршрутизируется через CMS и может иметь практически любой URL-адрес в зависимости от структуры сайта. По умолчанию OutputCache использует URL-адрес в качестве ключа, однако я не нашел способа сделать недействительными элементы в OutputCache с помощью ключа.
Можно ли установить тег динамически? Например. наличие URL-адреса в качестве тега на странице. Или, возможно, создайте собственный атрибут OutputCacheAttribute, где это возможно, и подключите этот атрибут к конвейеру CacheEntry.
Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/791 ... y-in-net-8

Вернуться в «C#»