MVC - Outputcache - пост-параметры - VaryByParam не влияет

У меня есть страница MVC, на которую попадает сообщение обычной формы с двумя параметрами сообщения.

Идентификатор поставщика и погашение.

Перед добавлением формы я использовал Outputcache для таких действий:

[OutputCache(Duration = 86400, VaryByCustom = "pageurl")]
public override ActionResult Load(int ControlId)
{

Все работало, когда изменился URL.

Теперь я хочу, чтобы он также менялся в зависимости от параметров записи, поэтому я изменил его на:

[OutputCache(Duration = 86400, VaryByCustom = "pageurl", VaryByParam = "SupplierId;Repayment")]
public override ActionResult Load(int ControlId)
{

Это не работает. Он не кэширует отдельный результат для разных параметров сообщения. Если я запрашиваю один и тот же URL с разными параметрами записи, я продолжаю получать исходный кэшированный результат. Точка останова в Visual Studio также не достигается.

Может кто-нибудь сказать мне, что я могу делать неправильно?

1 ответ

VaryByParam относится к параметрам, передаваемым в этот метод. Единственный параметр у вас есть int ControlId,

к VaryByParam = "SupplierId;Repayment" вам понадобится:

[OutputCache(Duration = 86400, VaryByCustom = "pageurl", VaryByParam = "SupplierId;Repayment")]
public override ActionResult Load(int SupplierId, int Repayment)
{
}
Другие вопросы по тегам