Вы можете использовать кеширование вывода в asp.net-mvc на основе параметров действия вашего контроллера - PullRequest
3 голосов
/ 14 июня 2011

Я хочу использовать кэширование вывода, чтобы избежать многократного попадания в мою базу данных одним и тем же статическим запросом, но у моих контроллеров есть параметры, которые однозначно определяют сообщение.

Как я могу учитывать мои параметры и при этом поддерживать выводкеширование в asp.net-mvc?

1 Ответ

7 голосов
/ 14 июня 2011

Проверьте свойство VaryByParam атрибута OutputCache.

[OutputCache(Duration=int.MaxValue, VaryByParam="id")]
public ActionResult Details(int id)
{
}

Для каждого уникального значения идентификатора будет создан уникальный экземпляр кэша.

Редактировать:

Если ваши потребности в кэшировании выходят за рамки простых сценариев VaryByParam, взгляните на VaryByCustom.Это позволит вам настроить сценарии по своему усмотрению (кэшированная версия для входа в систему, а не для входа в систему пользователя и т. Д. И т. Д.)

...