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)
{
}